{
  "components": {
    "schemas": {
      "account": {
        "description": "This is an object representing a Stripe account. You can retrieve it to see\nproperties on the account like its current e-mail address or if the account is\nenabled yet to make live charges.\n\nSome properties, marked below, are available only to platforms that want to\n[create and manage Express or Custom accounts](https://stripe.com/docs/connect/accounts).",
        "properties": {
          "business_profile": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/account_business_profile"
              }
            ],
            "description": "Business information about the account.",
            "nullable": true
          },
          "business_type": {
            "description": "The business type.",
            "enum": ["company", "government_entity", "individual", "non_profit"],
            "nullable": true,
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "capabilities": {
            "$ref": "#/components/schemas/account_capabilities"
          },
          "charges_enabled": {
            "description": "Whether the account can create live charges.",
            "type": "boolean"
          },
          "company": {
            "$ref": "#/components/schemas/legal_entity_company"
          },
          "country": {
            "description": "The account's country.",
            "maxLength": 5000,
            "type": "string"
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "default_currency": {
            "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts).",
            "maxLength": 5000,
            "type": "string"
          },
          "details_submitted": {
            "description": "Whether account details have been submitted. Standard accounts cannot receive payouts before this is true.",
            "type": "boolean"
          },
          "email": {
            "description": "An email address associated with the account. You can treat this as metadata: it is not used for authentication or messaging account holders.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "external_accounts": {
            "description": "External accounts (bank accounts and debit cards) currently attached to this account",
            "properties": {
              "data": {
                "description": "The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards.",
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/bank_account"
                    },
                    {
                      "$ref": "#/components/schemas/card"
                    }
                  ],
                  "title": "Polymorphic"
                },
                "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": "ExternalAccountList",
            "type": "object",
            "x-expandableFields": ["data"]
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "individual": {
            "$ref": "#/components/schemas/person"
          },
          "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["account"],
            "type": "string"
          },
          "payouts_enabled": {
            "description": "Whether Stripe can send payouts to this account.",
            "type": "boolean"
          },
          "requirements": {
            "$ref": "#/components/schemas/account_requirements"
          },
          "settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/account_settings"
              }
            ],
            "description": "Options for customizing how the account functions within Stripe.",
            "nullable": true
          },
          "tos_acceptance": {
            "$ref": "#/components/schemas/account_tos_acceptance"
          },
          "type": {
            "description": "The Stripe account type. Can be `standard`, `express`, or `custom`.",
            "enum": ["custom", "express", "standard"],
            "type": "string"
          }
        },
        "required": ["id", "object"],
        "title": "Account",
        "type": "object",
        "x-expandableFields": [
          "business_profile",
          "capabilities",
          "company",
          "external_accounts",
          "individual",
          "requirements",
          "settings",
          "tos_acceptance"
        ],
        "x-resourceId": "account"
      },
      "account_bacs_debit_payments_settings": {
        "description": "",
        "properties": {
          "display_name": {
            "description": "The Bacs Direct Debit Display Name for this account. For payments made with Bacs Direct Debit, this will appear on the mandate, and as the statement descriptor.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "title": "AccountBacsDebitPaymentsSettings",
        "type": "object",
        "x-expandableFields": []
      },
      "account_branding_settings": {
        "description": "",
        "properties": {
          "icon": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) An icon for the account. Must be square and at least 128px x 128px.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "logo": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account's name next to it if provided. Must be at least 128px x 128px.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "primary_color": {
            "description": "A CSS hex color value representing the primary branding color for this account",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "secondary_color": {
            "description": "A CSS hex color value representing the secondary branding color for this account",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "AccountBrandingSettings",
        "type": "object",
        "x-expandableFields": ["icon", "logo"]
      },
      "account_business_profile": {
        "description": "",
        "properties": {
          "mcc": {
            "description": "[The merchant category code for the account](https://stripe.com/docs/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "The customer-facing business name.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "product_description": {
            "description": "Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes.",
            "maxLength": 40000,
            "nullable": true,
            "type": "string"
          },
          "support_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "A publicly available mailing address for sending support issues to.",
            "nullable": true
          },
          "support_email": {
            "description": "A publicly available email address for sending support issues to.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "support_phone": {
            "description": "A publicly available phone number to call with support issues.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "support_url": {
            "description": "A publicly available website for handling support issues.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "url": {
            "description": "The business's publicly available website.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "AccountBusinessProfile",
        "type": "object",
        "x-expandableFields": ["support_address"]
      },
      "account_capabilities": {
        "description": "",
        "properties": {
          "afterpay_clearpay_payments": {
            "description": "The status of the Afterpay Clearpay capability of the account, or whether the account can directly process Afterpay Clearpay charges.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "au_becs_debit_payments": {
            "description": "The status of the BECS Direct Debit (AU) payments capability of the account, or whether the account can directly process BECS Direct Debit (AU) charges.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "bacs_debit_payments": {
            "description": "The status of the Bacs Direct Debits payments capability of the account, or whether the account can directly process Bacs Direct Debits charges.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "bancontact_payments": {
            "description": "The status of the Bancontact payments capability of the account, or whether the account can directly process Bancontact charges.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "card_issuing": {
            "description": "The status of the card issuing capability of the account, or whether you can use Issuing to distribute funds on cards",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "card_payments": {
            "description": "The status of the card payments capability of the account, or whether the account can directly process credit and debit card charges.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "cartes_bancaires_payments": {
            "description": "The status of the Cartes Bancaires payments capability of the account, or whether the account can directly process Cartes Bancaires card charges in EUR currency.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "eps_payments": {
            "description": "The status of the EPS payments capability of the account, or whether the account can directly process EPS charges.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "fpx_payments": {
            "description": "The status of the FPX payments capability of the account, or whether the account can directly process FPX charges.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "giropay_payments": {
            "description": "The status of the giropay payments capability of the account, or whether the account can directly process giropay charges.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "grabpay_payments": {
            "description": "The status of the GrabPay payments capability of the account, or whether the account can directly process GrabPay charges.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "ideal_payments": {
            "description": "The status of the iDEAL payments capability of the account, or whether the account can directly process iDEAL charges.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "jcb_payments": {
            "description": "The status of the JCB payments capability of the account, or whether the account (Japan only) can directly process JCB credit card charges in JPY currency.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "legacy_payments": {
            "description": "The status of the legacy payments capability of the account.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "oxxo_payments": {
            "description": "The status of the OXXO payments capability of the account, or whether the account can directly process OXXO charges.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "p24_payments": {
            "description": "The status of the P24 payments capability of the account, or whether the account can directly process P24 charges.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "sepa_debit_payments": {
            "description": "The status of the SEPA Direct Debits payments capability of the account, or whether the account can directly process SEPA Direct Debits charges.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "sofort_payments": {
            "description": "The status of the Sofort payments capability of the account, or whether the account can directly process Sofort charges.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "tax_reporting_us_1099_k": {
            "description": "The status of the tax reporting 1099-K (US) capability of the account.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "tax_reporting_us_1099_misc": {
            "description": "The status of the tax reporting 1099-MISC (US) capability of the account.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "transfers": {
            "description": "The status of the transfers capability of the account, or whether your platform can transfer funds to the account.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          }
        },
        "title": "AccountCapabilities",
        "type": "object",
        "x-expandableFields": []
      },
      "account_capability_requirements": {
        "description": "",
        "properties": {
          "current_deadline": {
            "description": "The date the fields in `currently_due` must be collected by to keep the capability enabled for the account.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "currently_due": {
            "description": "The fields that need to be collected to keep the capability enabled. If not collected by the `current_deadline`, these fields appear in `past_due` as well, and the capability is disabled.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "disabled_reason": {
            "description": "If the capability is disabled, this string describes why. Possible values are `requirement.fields_needed`, `pending.onboarding`, `pending.review`, `rejected_fraud`, `rejected.unsupported_business` or `rejected.other`.\n\n`rejected.unsupported_business` means that the account's business is not supported by the capability. For example, payment methods may restrict the businesses they support in their terms of service:\n\n- [Afterpay Clearpay's terms of service](/afterpay-clearpay/legal#restricted-businesses)\n\nIf you believe that the rejection is in error, please contact support@stripe.com for assistance.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "errors": {
            "description": "The fields that are `currently_due` and need to be collected again because validation or verification failed for some reason.",
            "items": {
              "$ref": "#/components/schemas/account_requirements_error"
            },
            "type": "array"
          },
          "eventually_due": {
            "description": "The fields that need to be collected assuming all volume thresholds are reached. As they become required, these fields appear in `currently_due` as well, and the `current_deadline` is set.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "past_due": {
            "description": "The fields that weren't collected by the `current_deadline`. These fields need to be collected to enable the capability for the account.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "pending_verification": {
            "description": "Fields that may become required depending on the results of verification or review. An empty array unless an asynchronous verification is pending. If verification fails, the fields in this array become required and move to `currently_due` or `past_due`.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": ["currently_due", "errors", "eventually_due", "past_due", "pending_verification"],
        "title": "AccountCapabilityRequirements",
        "type": "object",
        "x-expandableFields": ["errors"]
      },
      "account_card_issuing_settings": {
        "description": "",
        "properties": {
          "tos_acceptance": {
            "$ref": "#/components/schemas/card_issuing_account_terms_of_service"
          }
        },
        "title": "AccountCardIssuingSettings",
        "type": "object",
        "x-expandableFields": ["tos_acceptance"]
      },
      "account_card_payments_settings": {
        "description": "",
        "properties": {
          "decline_on": {
            "$ref": "#/components/schemas/account_decline_charge_on"
          },
          "statement_descriptor_prefix": {
            "description": "The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge. `statement_descriptor_prefix` is useful for maximizing descriptor space for the dynamic portion.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "AccountCardPaymentsSettings",
        "type": "object",
        "x-expandableFields": ["decline_on"]
      },
      "account_dashboard_settings": {
        "description": "",
        "properties": {
          "display_name": {
            "description": "The display name for this account. This is used on the Stripe Dashboard to differentiate between accounts.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "timezone": {
            "description": "The timezone used in the Stripe Dashboard for this account. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "AccountDashboardSettings",
        "type": "object",
        "x-expandableFields": []
      },
      "account_decline_charge_on": {
        "description": "",
        "properties": {
          "avs_failure": {
            "description": "Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This setting only applies when a ZIP or postal code is provided and they fail bank verification.",
            "type": "boolean"
          },
          "cvc_failure": {
            "description": "Whether Stripe automatically declines charges with an incorrect CVC. This setting only applies when a CVC is provided and it fails bank verification.",
            "type": "boolean"
          }
        },
        "required": ["avs_failure", "cvc_failure"],
        "title": "AccountDeclineChargeOn",
        "type": "object",
        "x-expandableFields": []
      },
      "account_link": {
        "description": "Account Links are the means by which a Connect platform grants a connected account permission to access\nStripe-hosted applications, such as Connect Onboarding.\n\nRelated guide: [Connect Onboarding](https://stripe.com/docs/connect/connect-onboarding).",
        "properties": {
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "expires_at": {
            "description": "The timestamp at which this account link will expire.",
            "format": "unix-time",
            "type": "integer"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["account_link"],
            "type": "string"
          },
          "url": {
            "description": "The URL for the account link.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["created", "expires_at", "object", "url"],
        "title": "AccountLink",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "account_link"
      },
      "account_payments_settings": {
        "description": "",
        "properties": {
          "statement_descriptor": {
            "description": "The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "statement_descriptor_kana": {
            "description": "The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only)",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "statement_descriptor_kanji": {
            "description": "The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only)",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "AccountPaymentsSettings",
        "type": "object",
        "x-expandableFields": []
      },
      "account_payout_settings": {
        "description": "",
        "properties": {
          "debit_negative_balances": {
            "description": "A Boolean indicating if Stripe should try to reclaim negative balances from an attached bank account. See our [Understanding Connect Account Balances](https://stripe.com/docs/connect/account-balances) documentation for details. Default value is `true` for Express accounts and `false` for Custom accounts.",
            "type": "boolean"
          },
          "schedule": {
            "$ref": "#/components/schemas/transfer_schedule"
          },
          "statement_descriptor": {
            "description": "The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["debit_negative_balances", "schedule"],
        "title": "AccountPayoutSettings",
        "type": "object",
        "x-expandableFields": ["schedule"]
      },
      "account_requirements": {
        "description": "",
        "properties": {
          "current_deadline": {
            "description": "The date the fields in `currently_due` must be collected by to keep payouts enabled for the account. These fields might block payouts sooner if the next threshold is reached before these fields are collected.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "currently_due": {
            "description": "The fields that need to be collected to keep the account enabled. If not collected by the `current_deadline`, these fields appear in `past_due` as well, and the account is disabled.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "disabled_reason": {
            "description": "If the account is disabled, this string describes why the account can’t create charges or receive payouts. Can be `requirements.past_due`, `requirements.pending_verification`, `rejected.fraud`, `rejected.terms_of_service`, `rejected.listed`, `rejected.other`, `listed`, `under_review`, or `other`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "errors": {
            "description": "The fields that are `currently_due` and need to be collected again because validation or verification failed for some reason.",
            "items": {
              "$ref": "#/components/schemas/account_requirements_error"
            },
            "nullable": true,
            "type": "array"
          },
          "eventually_due": {
            "description": "The fields that need to be collected assuming all volume thresholds are reached. As they become required, these fields appear in `currently_due` as well, and the `current_deadline` is set.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "past_due": {
            "description": "The fields that weren't collected by the `current_deadline`. These fields need to be collected to re-enable the account.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "pending_verification": {
            "description": "Fields that may become required depending on the results of verification or review. An empty array unless an asynchronous verification is pending. If verification fails, the fields in this array become required and move to `currently_due` or `past_due`.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "title": "AccountRequirements",
        "type": "object",
        "x-expandableFields": ["errors"]
      },
      "account_requirements_error": {
        "description": "",
        "properties": {
          "code": {
            "description": "The code for the type of error.",
            "enum": [
              "invalid_address_city_state_postal_code",
              "invalid_street_address",
              "invalid_value_other",
              "verification_document_address_mismatch",
              "verification_document_address_missing",
              "verification_document_corrupt",
              "verification_document_country_not_supported",
              "verification_document_dob_mismatch",
              "verification_document_duplicate_type",
              "verification_document_expired",
              "verification_document_failed_copy",
              "verification_document_failed_greyscale",
              "verification_document_failed_other",
              "verification_document_failed_test_mode",
              "verification_document_fraudulent",
              "verification_document_id_number_mismatch",
              "verification_document_id_number_missing",
              "verification_document_incomplete",
              "verification_document_invalid",
              "verification_document_issue_or_expiry_date_missing",
              "verification_document_manipulated",
              "verification_document_missing_back",
              "verification_document_missing_front",
              "verification_document_name_mismatch",
              "verification_document_name_missing",
              "verification_document_nationality_mismatch",
              "verification_document_not_readable",
              "verification_document_not_signed",
              "verification_document_not_uploaded",
              "verification_document_photo_mismatch",
              "verification_document_too_large",
              "verification_document_type_not_supported",
              "verification_failed_address_match",
              "verification_failed_business_iec_number",
              "verification_failed_document_match",
              "verification_failed_id_number_match",
              "verification_failed_keyed_identity",
              "verification_failed_keyed_match",
              "verification_failed_name_match",
              "verification_failed_other",
              "verification_failed_tax_id_match",
              "verification_failed_tax_id_not_issued",
              "verification_missing_executives",
              "verification_missing_owners",
              "verification_requires_additional_memorandum_of_associations"
            ],
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "reason": {
            "description": "An informative message that indicates the error type and provides additional details about the error.",
            "maxLength": 5000,
            "type": "string"
          },
          "requirement": {
            "description": "The specific user onboarding requirement field (in the requirements hash) that needs to be resolved.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["code", "reason", "requirement"],
        "title": "AccountRequirementsError",
        "type": "object",
        "x-expandableFields": []
      },
      "account_sepa_debit_payments_settings": {
        "description": "",
        "properties": {
          "creditor_id": {
            "description": "SEPA creditor identifier that identifies the company making the payment.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "title": "AccountSepaDebitPaymentsSettings",
        "type": "object",
        "x-expandableFields": []
      },
      "account_settings": {
        "description": "",
        "properties": {
          "bacs_debit_payments": {
            "$ref": "#/components/schemas/account_bacs_debit_payments_settings"
          },
          "branding": {
            "$ref": "#/components/schemas/account_branding_settings"
          },
          "card_issuing": {
            "$ref": "#/components/schemas/account_card_issuing_settings"
          },
          "card_payments": {
            "$ref": "#/components/schemas/account_card_payments_settings"
          },
          "dashboard": {
            "$ref": "#/components/schemas/account_dashboard_settings"
          },
          "payments": {
            "$ref": "#/components/schemas/account_payments_settings"
          },
          "payouts": {
            "$ref": "#/components/schemas/account_payout_settings"
          },
          "sepa_debit_payments": {
            "$ref": "#/components/schemas/account_sepa_debit_payments_settings"
          }
        },
        "required": ["branding", "card_payments", "dashboard", "payments"],
        "title": "AccountSettings",
        "type": "object",
        "x-expandableFields": [
          "bacs_debit_payments",
          "branding",
          "card_issuing",
          "card_payments",
          "dashboard",
          "payments",
          "payouts",
          "sepa_debit_payments"
        ]
      },
      "account_tos_acceptance": {
        "description": "",
        "properties": {
          "date": {
            "description": "The Unix timestamp marking when the account representative accepted their service agreement",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "ip": {
            "description": "The IP address from which the account representative accepted their service agreement",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "service_agreement": {
            "description": "The user's service agreement type",
            "maxLength": 5000,
            "type": "string"
          },
          "user_agent": {
            "description": "The user agent of the browser from which the account representative accepted their service agreement",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "AccountTOSAcceptance",
        "type": "object",
        "x-expandableFields": []
      },
      "address": {
        "description": "",
        "properties": {
          "city": {
            "description": "City, district, suburb, town, or village.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "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"
          },
          "line1": {
            "description": "Address line 1 (e.g., street, PO Box, or company name).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "line2": {
            "description": "Address line 2 (e.g., apartment, suite, unit, or building).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "postal_code": {
            "description": "ZIP or postal code.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "state": {
            "description": "State, county, province, or region.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "Address",
        "type": "object",
        "x-expandableFields": []
      },
      "alipay_account": {
        "description": "",
        "properties": {
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "The ID of the customer associated with this Alipay Account.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "fingerprint": {
            "description": "Uniquely identifies the account and will be the same across all Alipay account objects that are linked to the same Alipay account.",
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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://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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["alipay_account"],
            "type": "string"
          },
          "payment_amount": {
            "description": "If the Alipay account object is not reusable, the exact amount that you can create a charge for.",
            "nullable": true,
            "type": "integer"
          },
          "payment_currency": {
            "description": "If the Alipay account object is not reusable, the exact currency that you can create a charge for.",
            "nullable": true,
            "type": "string"
          },
          "reusable": {
            "description": "True if you can create multiple payments using this account. If the account is reusable, then you can freely choose the amount of each payment.",
            "type": "boolean"
          },
          "used": {
            "description": "Whether this Alipay account object has ever been used for a payment.",
            "type": "boolean"
          },
          "username": {
            "description": "The username for the Alipay account.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["created", "fingerprint", "id", "livemode", "object", "reusable", "used", "username"],
        "title": "AlipayAccount",
        "type": "object",
        "x-expandableFields": ["customer"],
        "x-resourceId": "alipay_account"
      },
      "api_errors": {
        "description": "",
        "properties": {
          "charge": {
            "description": "For card errors, the ID of the failed charge.",
            "maxLength": 5000,
            "type": "string"
          },
          "code": {
            "description": "For some errors that could be handled programmatically, a short string indicating the [error code](https://stripe.com/docs/error-codes) reported.",
            "maxLength": 5000,
            "type": "string"
          },
          "decline_code": {
            "description": "For card errors resulting from a card issuer decline, a short string indicating the [card issuer's reason for the decline](https://stripe.com/docs/declines#issuer-declines) if they provide one.",
            "maxLength": 5000,
            "type": "string"
          },
          "doc_url": {
            "description": "A URL to more information about the [error code](https://stripe.com/docs/error-codes) reported.",
            "maxLength": 5000,
            "type": "string"
          },
          "message": {
            "description": "A human-readable message providing more details about the error. For card errors, these messages can be shown to your users.",
            "maxLength": 40000,
            "type": "string"
          },
          "param": {
            "description": "If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field.",
            "maxLength": 5000,
            "type": "string"
          },
          "payment_intent": {
            "$ref": "#/components/schemas/payment_intent"
          },
          "payment_method": {
            "$ref": "#/components/schemas/payment_method"
          },
          "payment_method_type": {
            "description": "If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors.",
            "maxLength": 5000,
            "type": "string"
          },
          "setup_intent": {
            "$ref": "#/components/schemas/setup_intent"
          },
          "source": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/bank_account"
              },
              {
                "$ref": "#/components/schemas/card"
              },
              {
                "$ref": "#/components/schemas/source"
              }
            ],
            "description": "The source object for errors returned on a request involving a source."
          },
          "type": {
            "description": "The type of error returned. One of `api_connection_error`, `api_error`, `authentication_error`, `card_error`, `idempotency_error`, `invalid_request_error`, or `rate_limit_error`",
            "enum": [
              "api_connection_error",
              "api_error",
              "authentication_error",
              "card_error",
              "idempotency_error",
              "invalid_request_error",
              "rate_limit_error"
            ],
            "type": "string"
          }
        },
        "required": ["type"],
        "title": "APIErrors",
        "type": "object",
        "x-expandableFields": ["payment_intent", "payment_method", "setup_intent", "source"]
      },
      "apple_pay_domain": {
        "description": "",
        "properties": {
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "domain_name": {
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["apple_pay_domain"],
            "type": "string"
          }
        },
        "required": ["created", "domain_name", "id", "livemode", "object"],
        "title": "ApplePayDomain",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "apple_pay_domain"
      },
      "application": {
        "description": "",
        "properties": {
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "name": {
            "description": "The name of the application.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["application"],
            "type": "string"
          }
        },
        "required": ["id", "object"],
        "title": "Application",
        "type": "object",
        "x-expandableFields": []
      },
      "application_fee": {
        "description": "",
        "properties": {
          "account": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "ID of the Stripe account this fee was taken from.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          },
          "amount": {
            "description": "Amount earned, in %s.",
            "type": "integer"
          },
          "amount_refunded": {
            "description": "Amount in %s refunded (can be less than the amount attribute on the fee if a partial refund was issued)",
            "type": "integer"
          },
          "application": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/application"
              }
            ],
            "description": "ID of the Connect application that earned the fee.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/application"
                }
              ]
            }
          },
          "balance_transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/balance_transaction"
              }
            ],
            "description": "Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds).",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/balance_transaction"
                }
              ]
            }
          },
          "charge": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/charge"
              }
            ],
            "description": "ID of the charge that the application fee was taken from.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/charge"
                }
              ]
            }
          },
          "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).",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["application_fee"],
            "type": "string"
          },
          "originating_transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/charge"
              }
            ],
            "description": "ID of the corresponding charge on the platform account, if this fee was the result of a charge using the `destination` parameter.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/charge"
                }
              ]
            }
          },
          "refunded": {
            "description": "Whether the fee has been fully refunded. If the fee is only partially refunded, this attribute will still be false.",
            "type": "boolean"
          },
          "refunds": {
            "description": "A list of refunds that have been applied to the fee.",
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "$ref": "#/components/schemas/fee_refund"
                },
                "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": "FeeRefundList",
            "type": "object",
            "x-expandableFields": ["data"]
          }
        },
        "required": [
          "account",
          "amount",
          "amount_refunded",
          "application",
          "charge",
          "created",
          "currency",
          "id",
          "livemode",
          "object",
          "refunded",
          "refunds"
        ],
        "title": "PlatformFee",
        "type": "object",
        "x-expandableFields": [
          "account",
          "application",
          "balance_transaction",
          "charge",
          "originating_transaction",
          "refunds"
        ],
        "x-resourceId": "application_fee"
      },
      "balance": {
        "description": "This is an object representing your Stripe balance. You can retrieve it to see\nthe balance currently on your Stripe account.\n\nYou can also retrieve the balance history, which contains a list of\n[transactions](https://stripe.com/docs/reporting/balance-transaction-types) that contributed to the balance\n(charges, payouts, and so forth).\n\nThe available and pending amounts for each currency are broken down further by\npayment source types.\n\nRelated guide: [Understanding Connect Account Balances](https://stripe.com/docs/connect/account-balances).",
        "properties": {
          "available": {
            "description": "Funds that are available to be transferred or paid out, whether automatically by Stripe or explicitly via the [Transfers API](https://stripe.com/docs/api#transfers) or [Payouts API](https://stripe.com/docs/api#payouts). The available balance for each currency and payment type can be found in the `source_types` property.",
            "items": {
              "$ref": "#/components/schemas/balance_amount"
            },
            "type": "array"
          },
          "connect_reserved": {
            "description": "Funds held due to negative balances on connected Custom accounts. The connect reserve balance for each currency and payment type can be found in the `source_types` property.",
            "items": {
              "$ref": "#/components/schemas/balance_amount"
            },
            "type": "array"
          },
          "instant_available": {
            "description": "Funds that can be paid out using Instant Payouts.",
            "items": {
              "$ref": "#/components/schemas/balance_amount"
            },
            "type": "array"
          },
          "issuing": {
            "$ref": "#/components/schemas/balance_detail"
          },
          "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["balance"],
            "type": "string"
          },
          "pending": {
            "description": "Funds that are not yet available in the balance, due to the 7-day rolling pay cycle. The pending balance for each currency, and for each payment type, can be found in the `source_types` property.",
            "items": {
              "$ref": "#/components/schemas/balance_amount"
            },
            "type": "array"
          }
        },
        "required": ["available", "livemode", "object", "pending"],
        "title": "Balance",
        "type": "object",
        "x-expandableFields": ["available", "connect_reserved", "instant_available", "issuing", "pending"],
        "x-resourceId": "balance"
      },
      "balance_amount": {
        "description": "",
        "properties": {
          "amount": {
            "description": "Balance amount.",
            "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).",
            "type": "string"
          },
          "source_types": {
            "$ref": "#/components/schemas/balance_amount_by_source_type"
          }
        },
        "required": ["amount", "currency"],
        "title": "BalanceAmount",
        "type": "object",
        "x-expandableFields": ["source_types"]
      },
      "balance_amount_by_source_type": {
        "description": "",
        "properties": {
          "bank_account": {
            "description": "Amount for bank account.",
            "type": "integer"
          },
          "card": {
            "description": "Amount for card.",
            "type": "integer"
          },
          "fpx": {
            "description": "Amount for FPX.",
            "type": "integer"
          }
        },
        "title": "BalanceAmountBySourceType",
        "type": "object",
        "x-expandableFields": []
      },
      "balance_detail": {
        "description": "",
        "properties": {
          "available": {
            "description": "Funds that are available for use.",
            "items": {
              "$ref": "#/components/schemas/balance_amount"
            },
            "type": "array"
          }
        },
        "required": ["available"],
        "title": "BalanceDetail",
        "type": "object",
        "x-expandableFields": ["available"]
      },
      "balance_transaction": {
        "description": "Balance transactions represent funds moving through your Stripe account.\nThey're created for every type of transaction that comes into or flows out of your Stripe account balance.\n\nRelated guide: [Balance Transaction Types](https://stripe.com/docs/reports/balance-transaction-types).",
        "properties": {
          "amount": {
            "description": "Gross amount of the transaction, in %s.",
            "type": "integer"
          },
          "available_on": {
            "description": "The date the transaction's net funds will become available in the Stripe balance.",
            "format": "unix-time",
            "type": "integer"
          },
          "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).",
            "type": "string"
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "exchange_rate": {
            "description": "The exchange rate used, if applicable, for this transaction. Specifically, if money was converted from currency A to currency B, then the `amount` in currency A, times `exchange_rate`, would be the `amount` in currency B. For example, suppose you charged a customer 10.00 EUR. Then the PaymentIntent's `amount` would be `1000` and `currency` would be `eur`. Suppose this was converted into 12.34 USD in your Stripe account. Then the BalanceTransaction's `amount` would be `1234`, `currency` would be `usd`, and `exchange_rate` would be `1.234`.",
            "nullable": true,
            "type": "number"
          },
          "fee": {
            "description": "Fees (in %s) paid for this transaction.",
            "type": "integer"
          },
          "fee_details": {
            "description": "Detailed breakdown of fees (in %s) paid for this transaction.",
            "items": {
              "$ref": "#/components/schemas/fee"
            },
            "type": "array"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "net": {
            "description": "Net amount of the transaction, in %s.",
            "type": "integer"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["balance_transaction"],
            "type": "string"
          },
          "reporting_category": {
            "description": "[Learn more](https://stripe.com/docs/reports/reporting-categories) about how reporting categories can help you understand balance transactions from an accounting perspective.",
            "maxLength": 5000,
            "type": "string"
          },
          "source": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/application_fee"
              },
              {
                "$ref": "#/components/schemas/charge"
              },
              {
                "$ref": "#/components/schemas/connect_collection_transfer"
              },
              {
                "$ref": "#/components/schemas/dispute"
              },
              {
                "$ref": "#/components/schemas/fee_refund"
              },
              {
                "$ref": "#/components/schemas/issuing.authorization"
              },
              {
                "$ref": "#/components/schemas/issuing.dispute"
              },
              {
                "$ref": "#/components/schemas/issuing.transaction"
              },
              {
                "$ref": "#/components/schemas/payout"
              },
              {
                "$ref": "#/components/schemas/platform_tax_fee"
              },
              {
                "$ref": "#/components/schemas/refund"
              },
              {
                "$ref": "#/components/schemas/reserve_transaction"
              },
              {
                "$ref": "#/components/schemas/tax_deducted_at_source"
              },
              {
                "$ref": "#/components/schemas/topup"
              },
              {
                "$ref": "#/components/schemas/transfer"
              },
              {
                "$ref": "#/components/schemas/transfer_reversal"
              }
            ],
            "description": "The Stripe object to which this transaction is related.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/application_fee"
                },
                {
                  "$ref": "#/components/schemas/charge"
                },
                {
                  "$ref": "#/components/schemas/connect_collection_transfer"
                },
                {
                  "$ref": "#/components/schemas/dispute"
                },
                {
                  "$ref": "#/components/schemas/fee_refund"
                },
                {
                  "$ref": "#/components/schemas/issuing.authorization"
                },
                {
                  "$ref": "#/components/schemas/issuing.dispute"
                },
                {
                  "$ref": "#/components/schemas/issuing.transaction"
                },
                {
                  "$ref": "#/components/schemas/payout"
                },
                {
                  "$ref": "#/components/schemas/platform_tax_fee"
                },
                {
                  "$ref": "#/components/schemas/refund"
                },
                {
                  "$ref": "#/components/schemas/reserve_transaction"
                },
                {
                  "$ref": "#/components/schemas/tax_deducted_at_source"
                },
                {
                  "$ref": "#/components/schemas/topup"
                },
                {
                  "$ref": "#/components/schemas/transfer"
                },
                {
                  "$ref": "#/components/schemas/transfer_reversal"
                }
              ]
            }
          },
          "status": {
            "description": "If the transaction's net funds are available in the Stripe balance yet. Either `available` or `pending`.",
            "maxLength": 5000,
            "type": "string"
          },
          "type": {
            "description": "Transaction type: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `payment`, `payment_failure_refund`, `payment_refund`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`. [Learn more](https://stripe.com/docs/reports/balance-transaction-types) about balance transaction types and what they represent. If you are looking to classify transactions for accounting purposes, you might want to consider `reporting_category` instead.",
            "enum": [
              "adjustment",
              "advance",
              "advance_funding",
              "anticipation_repayment",
              "application_fee",
              "application_fee_refund",
              "charge",
              "connect_collection_transfer",
              "contribution",
              "issuing_authorization_hold",
              "issuing_authorization_release",
              "issuing_dispute",
              "issuing_transaction",
              "payment",
              "payment_failure_refund",
              "payment_refund",
              "payout",
              "payout_cancel",
              "payout_failure",
              "refund",
              "refund_failure",
              "reserve_transaction",
              "reserved_funds",
              "stripe_fee",
              "stripe_fx_fee",
              "tax_fee",
              "topup",
              "topup_reversal",
              "transfer",
              "transfer_cancel",
              "transfer_failure",
              "transfer_refund"
            ],
            "type": "string"
          }
        },
        "required": [
          "amount",
          "available_on",
          "created",
          "currency",
          "fee",
          "fee_details",
          "id",
          "net",
          "object",
          "reporting_category",
          "status",
          "type"
        ],
        "title": "BalanceTransaction",
        "type": "object",
        "x-expandableFields": ["fee_details", "source"],
        "x-resourceId": "balance_transaction"
      },
      "bank_account": {
        "description": "These bank accounts are payment methods on `Customer` objects.\n\nOn the other hand [External Accounts](https://stripe.com/docs/api#external_accounts) are transfer\ndestinations on `Account` objects for [Custom accounts](https://stripe.com/docs/connect/custom-accounts).\nThey can be bank accounts or debit cards as well, and are documented in the links above.\n\nRelated guide: [Bank Debits and Transfers](https://stripe.com/docs/payments/bank-debits-transfers).",
        "properties": {
          "account": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "The ID of the account that the bank account is associated with.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          },
          "account_holder_name": {
            "description": "The name of the person or business that owns the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "account_holder_type": {
            "description": "The type of entity that holds the account. This can be either `individual` or `company`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "available_payout_methods": {
            "description": "A set of available payout methods for this bank account. Only values from this set should be passed as the `method` when creating a payout.",
            "items": {
              "enum": ["instant", "standard"],
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "bank_name": {
            "description": "Name of the bank associated with the routing number (e.g., `WELLS FARGO`).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "country": {
            "description": "Two-letter ISO code representing the country the bank account is located in.",
            "maxLength": 5000,
            "type": "string"
          },
          "currency": {
            "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account.",
            "type": "string"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "The ID of the customer that the bank account is associated with.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "default_for_currency": {
            "description": "Whether this bank account is the default external account for its currency.",
            "nullable": true,
            "type": "boolean"
          },
          "fingerprint": {
            "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "last4": {
            "description": "The last four digits of the bank account number.",
            "maxLength": 5000,
            "type": "string"
          },
          "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.",
            "nullable": true,
            "type": "object"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["bank_account"],
            "type": "string"
          },
          "routing_number": {
            "description": "The routing transit number for the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "status": {
            "description": "For bank accounts, possible values are `new`, `validated`, `verified`, `verification_failed`, or `errored`. A bank account that hasn't had any activity or validation performed is `new`. If Stripe can determine that the bank account exists, its status will be `validated`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be `verified`. If the verification failed for any reason, such as microdeposit failure, the status will be `verification_failed`. If a transfer sent to this bank account fails, we'll set the status to `errored` and will not continue to send transfers until the bank details are updated.\n\nFor external accounts, possible values are `new` and `errored`. Validations aren't run against external accounts because they're only used for payouts. This means the other statuses don't apply. If a transfer fails, the status is set to `errored` and transfers are stopped until account details are updated.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["country", "currency", "id", "last4", "object", "status"],
        "title": "BankAccount",
        "type": "object",
        "x-expandableFields": ["account", "customer"],
        "x-resourceId": "bank_account"
      },
      "billing_details": {
        "description": "",
        "properties": {
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "Billing address.",
            "nullable": true
          },
          "email": {
            "description": "Email address.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Full name.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "phone": {
            "description": "Billing phone number (including extension).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "billing_details",
        "type": "object",
        "x-expandableFields": ["address"]
      },
      "billing_portal.configuration": {
        "description": "A portal configuration describes the functionality and behavior of a portal session.",
        "properties": {
          "active": {
            "description": "Whether the configuration is active and can be used to create portal sessions.",
            "type": "boolean"
          },
          "application": {
            "description": "ID of the Connect Application that created the configuration.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "business_profile": {
            "$ref": "#/components/schemas/portal_business_profile"
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "default_return_url": {
            "description": "The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "features": {
            "$ref": "#/components/schemas/portal_features"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "is_default": {
            "description": "Whether the configuration is the default. If `true`, this configuration can be managed in the Dashboard and portal sessions will use this configuration unless it is overriden when creating the session.",
            "type": "boolean"
          },
          "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["billing_portal.configuration"],
            "type": "string"
          },
          "updated": {
            "description": "Time at which the object was last updated. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          }
        },
        "required": [
          "active",
          "business_profile",
          "created",
          "features",
          "id",
          "is_default",
          "livemode",
          "object",
          "updated"
        ],
        "title": "PortalConfiguration",
        "type": "object",
        "x-expandableFields": ["business_profile", "features"],
        "x-resourceId": "billing_portal.configuration"
      },
      "billing_portal.session": {
        "description": "The Billing customer portal is a Stripe-hosted UI for subscription and\nbilling management.\n\nA portal configuration describes the functionality and features that you\nwant to provide to your customers through the portal.\n\nA portal session describes the instantiation of the customer portal for\na particular customer. By visiting the session's URL, the customer\ncan manage their subscriptions and billing details. For security reasons,\nsessions are short-lived and will expire if the customer does not visit the URL.\nCreate sessions on-demand when customers intend to manage their subscriptions\nand billing details.\n\nLearn more in the [product overview](https://stripe.com/docs/billing/subscriptions/customer-portal)\nand [integration guide](https://stripe.com/docs/billing/subscriptions/integrating-customer-portal).",
        "properties": {
          "configuration": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/billing_portal.configuration"
              }
            ],
            "description": "The configuration used by this session, describing the features available.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/billing_portal.configuration"
                }
              ]
            }
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "customer": {
            "description": "The ID of the customer for this session.",
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["billing_portal.session"],
            "type": "string"
          },
          "on_behalf_of": {
            "description": "The account for which the session was created on behalf of. When specified, only subscriptions and invoices with this `on_behalf_of` account appear in the portal. For more information, see the [docs](https://stripe.com/docs/connect/charges-transfers#on-behalf-of). Use the [Accounts API](https://stripe.com/docs/api/accounts/object#account_object-settings-branding) to modify the `on_behalf_of` account's branding settings, which the portal displays.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "return_url": {
            "description": "The URL to redirect customers to when they click on the portal's link to return to your website.",
            "maxLength": 5000,
            "type": "string"
          },
          "url": {
            "description": "The short-lived URL of the session that gives customers access to the customer portal.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["configuration", "created", "customer", "id", "livemode", "object", "return_url", "url"],
        "title": "PortalSession",
        "type": "object",
        "x-expandableFields": ["configuration"],
        "x-resourceId": "billing_portal.session"
      },
      "bitcoin_receiver": {
        "description": "",
        "properties": {
          "active": {
            "description": "True when this bitcoin receiver has received a non-zero amount of bitcoin.",
            "type": "boolean"
          },
          "amount": {
            "description": "The amount of `currency` that you are collecting as payment.",
            "type": "integer"
          },
          "amount_received": {
            "description": "The amount of `currency` to which `bitcoin_amount_received` has been converted.",
            "type": "integer"
          },
          "bitcoin_amount": {
            "description": "The amount of bitcoin that the customer should send to fill the receiver. The `bitcoin_amount` is denominated in Satoshi: there are 10^8 Satoshi in one bitcoin.",
            "type": "integer"
          },
          "bitcoin_amount_received": {
            "description": "The amount of bitcoin that has been sent by the customer to this receiver.",
            "type": "integer"
          },
          "bitcoin_uri": {
            "description": "This URI can be displayed to the customer as a clickable link (to activate their bitcoin client) or as a QR code (for mobile wallets).",
            "maxLength": 5000,
            "type": "string"
          },
          "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 code for the currency](https://stripe.com/docs/currencies) to which the bitcoin will be converted.",
            "type": "string"
          },
          "customer": {
            "description": "The customer ID of the bitcoin receiver.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "email": {
            "description": "The customer's email address, set by the API call that creates the receiver.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "filled": {
            "description": "This flag is initially false and updates to true when the customer sends the `bitcoin_amount` to this receiver.",
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "inbound_address": {
            "description": "A bitcoin address that is specific to this receiver. The customer can send bitcoin to this address to fill the receiver.",
            "maxLength": 5000,
            "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://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.",
            "nullable": true,
            "type": "object"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["bitcoin_receiver"],
            "type": "string"
          },
          "payment": {
            "description": "The ID of the payment created from the receiver, if any. Hidden when viewing the receiver with a publishable key.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "refund_address": {
            "description": "The refund address of this bitcoin receiver.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "transactions": {
            "description": "A list with one entry for each time that the customer sent bitcoin to the receiver. Hidden when viewing the receiver with a publishable key.",
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "$ref": "#/components/schemas/bitcoin_transaction"
                },
                "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": "BitcoinTransactionList",
            "type": "object",
            "x-expandableFields": ["data"]
          },
          "uncaptured_funds": {
            "description": "This receiver contains uncaptured funds that can be used for a payment or refunded.",
            "type": "boolean"
          },
          "used_for_payment": {
            "description": "Indicate if this source is used for payment.",
            "nullable": true,
            "type": "boolean"
          }
        },
        "required": [
          "active",
          "amount",
          "amount_received",
          "bitcoin_amount",
          "bitcoin_amount_received",
          "bitcoin_uri",
          "created",
          "currency",
          "filled",
          "id",
          "inbound_address",
          "livemode",
          "object",
          "uncaptured_funds"
        ],
        "title": "BitcoinReceiver",
        "type": "object",
        "x-expandableFields": ["transactions"],
        "x-resourceId": "bitcoin_receiver"
      },
      "bitcoin_transaction": {
        "description": "",
        "properties": {
          "amount": {
            "description": "The amount of `currency` that the transaction was converted to in real-time.",
            "type": "integer"
          },
          "bitcoin_amount": {
            "description": "The amount of bitcoin contained in the transaction.",
            "type": "integer"
          },
          "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 code for the currency](https://stripe.com/docs/currencies) to which this transaction was converted.",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["bitcoin_transaction"],
            "type": "string"
          },
          "receiver": {
            "description": "The receiver to which this transaction was sent.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["amount", "bitcoin_amount", "created", "currency", "id", "object", "receiver"],
        "title": "BitcoinTransaction",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "bitcoin_transaction"
      },
      "capability": {
        "description": "This is an object representing a capability for a Stripe account.\n\nRelated guide: [Account capabilities](https://stripe.com/docs/connect/account-capabilities).",
        "properties": {
          "account": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "The account for which the capability enables functionality.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          },
          "id": {
            "description": "The identifier for the capability.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["capability"],
            "type": "string"
          },
          "requested": {
            "description": "Whether the capability has been requested.",
            "type": "boolean"
          },
          "requested_at": {
            "description": "Time at which the capability was requested. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "requirements": {
            "$ref": "#/components/schemas/account_capability_requirements"
          },
          "status": {
            "description": "The status of the capability. Can be `active`, `inactive`, `pending`, or `unrequested`.",
            "enum": ["active", "disabled", "inactive", "pending", "unrequested"],
            "type": "string"
          }
        },
        "required": ["account", "id", "object", "requested", "status"],
        "title": "AccountCapability",
        "type": "object",
        "x-expandableFields": ["account", "requirements"],
        "x-resourceId": "capability"
      },
      "card": {
        "description": "You can store multiple cards on a customer in order to charge the customer\nlater. You can also store multiple debit cards on a recipient in order to\ntransfer to those cards later.\n\nRelated guide: [Card Payments with Sources](https://stripe.com/docs/sources/cards).",
        "properties": {
          "account": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          },
          "address_city": {
            "description": "City/District/Suburb/Town/Village.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "address_country": {
            "description": "Billing address country, if provided when creating card.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "address_line1": {
            "description": "Address line 1 (Street address/PO Box/Company name).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "address_line1_check": {
            "description": "If `address_line1` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "address_line2": {
            "description": "Address line 2 (Apartment/Suite/Unit/Building).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "address_state": {
            "description": "State/County/Province/Region.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "address_zip": {
            "description": "ZIP or postal code.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "address_zip_check": {
            "description": "If `address_zip` was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "available_payout_methods": {
            "description": "A set of available payout methods for this card. Only values from this set should be passed as the `method` when creating a payout.",
            "items": {
              "enum": ["instant", "standard"],
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "brand": {
            "description": "Card brand. Can be `American Express`, `Diners Club`, `Discover`, `JCB`, `MasterCard`, `UnionPay`, `Visa`, or `Unknown`.",
            "maxLength": 5000,
            "type": "string"
          },
          "country": {
            "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "currency": {
            "description": "Three-letter [ISO code for currency](https://stripe.com/docs/payouts). Only applicable on accounts (not customers or recipients). The card can be used as a transfer destination for funds in this currency.",
            "nullable": true,
            "type": "string"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "cvc_check": {
            "description": "If a CVC was provided, results of the check: `pass`, `fail`, `unavailable`, or `unchecked`. A result of unchecked indicates that CVC was provided but hasn't been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see [Check if a card is valid without a charge](https://support.stripe.com/questions/check-if-a-card-is-valid-without-a-charge).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "default_for_currency": {
            "description": "Whether this card is the default external account for its currency.",
            "nullable": true,
            "type": "boolean"
          },
          "dynamic_last4": {
            "description": "(For tokenized numbers only.) The last four digits of the device account number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "exp_month": {
            "description": "Two-digit number representing the card's expiration month.",
            "type": "integer"
          },
          "exp_year": {
            "description": "Four-digit number representing the card's expiration year.",
            "type": "integer"
          },
          "fingerprint": {
            "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*Starting May 1, 2021, card fingerprint in India for Connect will change to allow two fingerprints for the same card --- one for India and one for the rest of the world.*",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "funding": {
            "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.",
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "last4": {
            "description": "The last four digits of the card.",
            "maxLength": 5000,
            "type": "string"
          },
          "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.",
            "nullable": true,
            "type": "object"
          },
          "name": {
            "description": "Cardholder name.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["card"],
            "type": "string"
          },
          "recipient": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/recipient"
              }
            ],
            "description": "The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/recipient"
                }
              ]
            }
          },
          "tokenization_method": {
            "description": "If the card number is tokenized, this is the method that was used. Can be `android_pay` (includes Google Pay), `apple_pay`, `masterpass`, `visa_checkout`, or null.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["brand", "exp_month", "exp_year", "funding", "id", "last4", "object"],
        "title": "Card",
        "type": "object",
        "x-expandableFields": ["account", "customer", "recipient"],
        "x-resourceId": "card"
      },
      "card_generated_from_payment_method_details": {
        "description": "",
        "properties": {
          "card_present": {
            "$ref": "#/components/schemas/payment_method_details_card_present"
          },
          "type": {
            "description": "The type of payment method transaction-specific details from the transaction that generated this `card` payment method. Always `card_present`.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["type"],
        "title": "card_generated_from_payment_method_details",
        "type": "object",
        "x-expandableFields": ["card_present"]
      },
      "card_issuing_account_terms_of_service": {
        "description": "",
        "properties": {
          "date": {
            "description": "The Unix timestamp marking when the account representative accepted the service agreement.",
            "nullable": true,
            "type": "integer"
          },
          "ip": {
            "description": "The IP address from which the account representative accepted the service agreement.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "user_agent": {
            "description": "The user agent of the browser from which the account representative accepted the service agreement.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "title": "CardIssuingAccountTermsOfService",
        "type": "object",
        "x-expandableFields": []
      },
      "card_mandate_payment_method_details": {
        "description": "",
        "properties": {},
        "title": "card_mandate_payment_method_details",
        "type": "object",
        "x-expandableFields": []
      },
      "charge": {
        "description": "To charge a credit or a debit card, you create a `Charge` object. You can\nretrieve and refund individual charges as well as list all charges. Charges\nare identified by a unique, random ID.\n\nRelated guide: [Accept a payment with the Charges API](https://stripe.com/docs/payments/accept-a-payment-charges).",
        "properties": {
          "amount": {
            "description": "Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).",
            "type": "integer"
          },
          "amount_captured": {
            "description": "Amount in %s captured (can be less than the amount attribute on the charge if a partial capture was made).",
            "type": "integer"
          },
          "amount_refunded": {
            "description": "Amount in %s refunded (can be less than the amount attribute on the charge if a partial refund was issued).",
            "type": "integer"
          },
          "application": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/application"
              }
            ],
            "description": "ID of the Connect application that created the charge.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/application"
                }
              ]
            }
          },
          "application_fee": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/application_fee"
              }
            ],
            "description": "The application fee (if any) for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collecting-fees) for details.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/application_fee"
                }
              ]
            }
          },
          "application_fee_amount": {
            "description": "The amount of the application fee (if any) requested for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collecting-fees) for details.",
            "nullable": true,
            "type": "integer"
          },
          "balance_transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/balance_transaction"
              }
            ],
            "description": "ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes).",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/balance_transaction"
                }
              ]
            }
          },
          "billing_details": {
            "$ref": "#/components/schemas/billing_details"
          },
          "calculated_statement_descriptor": {
            "description": "The full statement descriptor that is passed to card networks, and that is displayed on your customers' credit card and bank statements. Allows you to see what the statement descriptor looks like after the static and dynamic portions are combined.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "captured": {
            "description": "If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured.",
            "type": "boolean"
          },
          "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).",
            "type": "string"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "ID of the customer this charge is for if one exists.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 40000,
            "nullable": true,
            "type": "string"
          },
          "disputed": {
            "description": "Whether the charge has been disputed.",
            "type": "boolean"
          },
          "failure_code": {
            "description": "Error code explaining reason for charge failure if available (see [the errors section](https://stripe.com/docs/api#errors) for a list of codes).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "failure_message": {
            "description": "Message to user further explaining reason for charge failure if available.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "fraud_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/charge_fraud_details"
              }
            ],
            "description": "Information on fraud assessments for the charge.",
            "nullable": true
          },
          "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 this charge is for if one exists.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/invoice"
                }
              ]
            }
          },
          "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["charge"],
            "type": "string"
          },
          "on_behalf_of": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the [Connect documentation](https://stripe.com/docs/connect/charges-transfers) for details.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          },
          "order": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/order"
              }
            ],
            "description": "ID of the order this charge is for if one exists.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/order"
                }
              ]
            }
          },
          "outcome": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/charge_outcome"
              }
            ],
            "description": "Details about whether the payment was accepted, and why. See [understanding declines](https://stripe.com/docs/declines) for details.",
            "nullable": true
          },
          "paid": {
            "description": "`true` if the charge succeeded, or was successfully authorized for later capture.",
            "type": "boolean"
          },
          "payment_intent": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_intent"
              }
            ],
            "description": "ID of the PaymentIntent associated with this charge, if one exists.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_intent"
                }
              ]
            }
          },
          "payment_method": {
            "description": "ID of the payment method used in this charge.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "payment_method_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_method_details"
              }
            ],
            "description": "Details about the payment method at the time of the transaction.",
            "nullable": true
          },
          "receipt_email": {
            "description": "This is the email address that the receipt for this charge was sent to.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "receipt_number": {
            "description": "This is the transaction number that appears on email receipts sent for this charge. This attribute will be `null` until a receipt has been sent.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "receipt_url": {
            "description": "This is the URL to view the receipt for this charge. The receipt is kept up-to-date to the latest state of the charge, including any refunds. If the charge is for an Invoice, the receipt will be stylized as an Invoice receipt.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "refunded": {
            "description": "Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false.",
            "type": "boolean"
          },
          "refunds": {
            "description": "A list of refunds that have been applied to the charge.",
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "$ref": "#/components/schemas/refund"
                },
                "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": "RefundList",
            "type": "object",
            "x-expandableFields": ["data"]
          },
          "review": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/review"
              }
            ],
            "description": "ID of the review associated with this charge if one exists.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/review"
                }
              ]
            }
          },
          "shipping": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/shipping"
              }
            ],
            "description": "Shipping information for the charge.",
            "nullable": true
          },
          "source_transfer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/transfer"
              }
            ],
            "description": "The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/transfer"
                }
              ]
            }
          },
          "statement_descriptor": {
            "description": "For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "statement_descriptor_suffix": {
            "description": "Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "status": {
            "description": "The status of the payment is either `succeeded`, `pending`, or `failed`.",
            "maxLength": 5000,
            "type": "string"
          },
          "transfer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/transfer"
              }
            ],
            "description": "ID of the transfer to the `destination` account (only applicable if the charge was created using the `destination` parameter).",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/transfer"
                }
              ]
            }
          },
          "transfer_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/charge_transfer_data"
              }
            ],
            "description": "An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details.",
            "nullable": true
          },
          "transfer_group": {
            "description": "A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/charges-transfers#transfer-options) for details.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "amount",
          "amount_captured",
          "amount_refunded",
          "billing_details",
          "captured",
          "created",
          "currency",
          "disputed",
          "id",
          "livemode",
          "metadata",
          "object",
          "paid",
          "refunded",
          "refunds",
          "status"
        ],
        "title": "Charge",
        "type": "object",
        "x-expandableFields": [
          "application",
          "application_fee",
          "balance_transaction",
          "billing_details",
          "customer",
          "fraud_details",
          "invoice",
          "on_behalf_of",
          "order",
          "outcome",
          "payment_intent",
          "payment_method_details",
          "refunds",
          "review",
          "shipping",
          "source_transfer",
          "transfer",
          "transfer_data"
        ],
        "x-resourceId": "charge"
      },
      "charge_fraud_details": {
        "description": "",
        "properties": {
          "stripe_report": {
            "description": "Assessments from Stripe. If set, the value is `fraudulent`.",
            "maxLength": 5000,
            "type": "string"
          },
          "user_report": {
            "description": "Assessments reported by you. If set, possible values of are `safe` and `fraudulent`.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "title": "ChargeFraudDetails",
        "type": "object",
        "x-expandableFields": []
      },
      "charge_outcome": {
        "description": "",
        "properties": {
          "network_status": {
            "description": "Possible values are `approved_by_network`, `declined_by_network`, `not_sent_to_network`, and `reversed_after_approval`. The value `reversed_after_approval` indicates the payment was [blocked by Stripe](https://stripe.com/docs/declines#blocked-payments) after bank authorization, and may temporarily appear as \"pending\" on a cardholder's statement.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "reason": {
            "description": "An enumerated value providing a more detailed explanation of the outcome's `type`. Charges blocked by Radar's default block rule have the value `highest_risk_level`. Charges placed in review by Radar's default review rule have the value `elevated_risk_level`. Charges authorized, blocked, or placed in review by custom rules have the value `rule`. See [understanding declines](https://stripe.com/docs/declines) for more details.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "risk_level": {
            "description": "Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are `normal`, `elevated`, `highest`. For non-card payments, and card-based payments predating the public assignment of risk levels, this field will have the value `not_assessed`. In the event of an error in the evaluation, this field will have the value `unknown`. This field is only available with Radar.",
            "maxLength": 5000,
            "type": "string"
          },
          "risk_score": {
            "description": "Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are between 0 and 100. For non-card payments, card-based payments predating the public assignment of risk scores, or in the event of an error during evaluation, this field will not be present. This field is only available with Radar for Fraud Teams.",
            "type": "integer"
          },
          "rule": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/rule"
              }
            ],
            "description": "The ID of the Radar rule that matched the payment, if applicable.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/rule"
                }
              ]
            }
          },
          "seller_message": {
            "description": "A human-readable description of the outcome type and reason, designed for you (the recipient of the payment), not your customer.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Possible values are `authorized`, `manual_review`, `issuer_declined`, `blocked`, and `invalid`. See [understanding declines](https://stripe.com/docs/declines) and [Radar reviews](https://stripe.com/docs/radar/reviews) for details.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["type"],
        "title": "ChargeOutcome",
        "type": "object",
        "x-expandableFields": ["rule"]
      },
      "charge_transfer_data": {
        "description": "",
        "properties": {
          "amount": {
            "description": "The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account.",
            "nullable": true,
            "type": "integer"
          },
          "destination": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "ID of an existing, connected Stripe account to transfer funds to if `transfer_data` was specified in the charge request.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          }
        },
        "required": ["destination"],
        "title": "ChargeTransferData",
        "type": "object",
        "x-expandableFields": ["destination"]
      },
      "checkout.session": {
        "description": "A Checkout Session represents your customer's session as they pay for\none-time purchases or subscriptions through [Checkout](https://stripe.com/docs/payments/checkout).\nWe recommend creating a new Session each time your customer attempts to pay.\n\nOnce payment is successful, the Checkout Session will contain a reference\nto the [Customer](https://stripe.com/docs/api/customers), and either the successful\n[PaymentIntent](https://stripe.com/docs/api/payment_intents) or an active\n[Subscription](https://stripe.com/docs/api/subscriptions).\n\nYou can create a Checkout Session on your server and pass its ID to the\nclient to begin Checkout.\n\nRelated guide: [Checkout Server Quickstart](https://stripe.com/docs/payments/checkout/api).",
        "properties": {
          "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"
          },
          "billing_address_collection": {
            "description": "Describes whether Checkout should collect the customer's billing address.",
            "enum": ["auto", "required"],
            "nullable": true,
            "type": "string"
          },
          "cancel_url": {
            "description": "The URL the customer will be directed to if they decide to cancel payment and return to your website.",
            "maxLength": 5000,
            "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"
          },
          "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).",
            "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 for this Session.\nFor Checkout Sessions in `payment` or `subscription` 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_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.",
            "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"
          },
          "id": {
            "description": "Unique identifier for the object. Used to pass to `redirectToCheckout`\nin Stripe.js.",
            "maxLength": 5000,
            "type": "string"
          },
          "line_items": {
            "description": "The line items purchased by the customer.",
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "$ref": "#/components/schemas/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",
              "fr",
              "fr-CA",
              "hu",
              "id",
              "it",
              "ja",
              "lt",
              "lv",
              "ms",
              "mt",
              "nb",
              "nl",
              "pl",
              "pt",
              "pt-BR",
              "ro",
              "ru",
              "sk",
              "sl",
              "sv",
              "th",
              "tr",
              "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://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.",
            "nullable": true,
            "type": "object"
          },
          "mode": {
            "description": "The mode of the Checkout Session.",
            "enum": ["payment", "setup", "subscription"],
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["checkout.session"],
            "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.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_intent"
                }
              ]
            }
          },
          "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"
          },
          "setup_intent": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/setup_intent"
              }
            ],
            "description": "The ID of the SetupIntent for Checkout Sessions in `setup` mode.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/setup_intent"
                }
              ]
            }
          },
          "shipping": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/shipping"
              }
            ],
            "description": "Shipping information for this Checkout Session.",
            "nullable": true
          },
          "shipping_address_collection": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_payment_page_resources_shipping_address_collection"
              }
            ],
            "description": "When set, provides configuration for Checkout to collect a shipping address from a customer.",
            "nullable": true
          },
          "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, but not Checkout Sessions\nin `subscription` or `setup` mode.",
            "enum": ["auto", "book", "donate", "pay"],
            "nullable": true,
            "type": "string"
          },
          "subscription": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/subscription"
              }
            ],
            "description": "The ID of the subscription 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,
            "type": "string"
          },
          "total_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_pages_checkout_session_total_details"
              }
            ],
            "description": "Tax and discount details for the computed total amount.",
            "nullable": true
          }
        },
        "required": [
          "cancel_url",
          "id",
          "livemode",
          "mode",
          "object",
          "payment_method_types",
          "payment_status",
          "success_url"
        ],
        "title": "Session",
        "type": "object",
        "x-expandableFields": [
          "customer",
          "customer_details",
          "line_items",
          "payment_intent",
          "setup_intent",
          "shipping",
          "shipping_address_collection",
          "subscription",
          "total_details"
        ],
        "x-resourceId": "checkout.session"
      },
      "connect_collection_transfer": {
        "description": "",
        "properties": {
          "amount": {
            "description": "Amount transferred, in %s.",
            "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).",
            "type": "string"
          },
          "destination": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "ID of the account that funds are being collected for.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["connect_collection_transfer"],
            "type": "string"
          }
        },
        "required": ["amount", "currency", "destination", "id", "livemode", "object"],
        "title": "ConnectCollectionTransfer",
        "type": "object",
        "x-expandableFields": ["destination"]
      },
      "country_spec": {
        "description": "Stripe needs to collect certain pieces of information about each account\ncreated. These requirements can differ depending on the account's country. The\nCountry Specs API makes these rules available to your integration.\n\nYou can also view the information from this API call as [an online\nguide](/docs/connect/required-verification-information).",
        "properties": {
          "default_currency": {
            "description": "The default currency for this country. This applies to both payment methods and bank accounts.",
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object. Represented as the ISO country code for this country.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["country_spec"],
            "type": "string"
          },
          "supported_bank_account_currencies": {
            "additionalProperties": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "description": "Currencies that can be accepted in the specific country (for transfers).",
            "type": "object"
          },
          "supported_payment_currencies": {
            "description": "Currencies that can be accepted in the specified country (for payments).",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "supported_payment_methods": {
            "description": "Payment methods available in the specified country. You may need to enable some payment methods (e.g., [ACH](https://stripe.com/docs/ach)) on your account before they appear in this list. The `stripe` payment method refers to [charging through your platform](https://stripe.com/docs/connect/destination-charges).",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "supported_transfer_countries": {
            "description": "Countries that can accept transfers from the specified country.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "verification_fields": {
            "$ref": "#/components/schemas/country_spec_verification_fields"
          }
        },
        "required": [
          "default_currency",
          "id",
          "object",
          "supported_bank_account_currencies",
          "supported_payment_currencies",
          "supported_payment_methods",
          "supported_transfer_countries",
          "verification_fields"
        ],
        "title": "CountrySpec",
        "type": "object",
        "x-expandableFields": ["verification_fields"],
        "x-resourceId": "country_spec"
      },
      "country_spec_verification_field_details": {
        "description": "",
        "properties": {
          "additional": {
            "description": "Additional fields which are only required for some users.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "minimum": {
            "description": "Fields which every account must eventually provide.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": ["additional", "minimum"],
        "title": "CountrySpecVerificationFieldDetails",
        "type": "object",
        "x-expandableFields": []
      },
      "country_spec_verification_fields": {
        "description": "",
        "properties": {
          "company": {
            "$ref": "#/components/schemas/country_spec_verification_field_details"
          },
          "individual": {
            "$ref": "#/components/schemas/country_spec_verification_field_details"
          }
        },
        "required": ["company", "individual"],
        "title": "CountrySpecVerificationFields",
        "type": "object",
        "x-expandableFields": ["company", "individual"]
      },
      "coupon": {
        "description": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge).",
        "properties": {
          "amount_off": {
            "description": "Amount (in the `currency` specified) that will be taken off the subtotal of any invoices for this customer.",
            "nullable": true,
            "type": "integer"
          },
          "applies_to": {
            "$ref": "#/components/schemas/coupon_applies_to"
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "currency": {
            "description": "If `amount_off` has been set, the three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the amount to take off.",
            "nullable": true,
            "type": "string"
          },
          "duration": {
            "description": "One of `forever`, `once`, and `repeating`. Describes how long a customer who applies this coupon will get the discount.",
            "enum": ["forever", "once", "repeating"],
            "type": "string"
          },
          "duration_in_months": {
            "description": "If `duration` is `repeating`, the number of months the coupon applies. Null if coupon `duration` is `forever` or `once`.",
            "nullable": true,
            "type": "integer"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "max_redemptions": {
            "description": "Maximum number of times this coupon can be redeemed, in total, across all customers, before it is no longer valid.",
            "nullable": true,
            "type": "integer"
          },
          "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.",
            "nullable": true,
            "type": "object"
          },
          "name": {
            "description": "Name of the coupon displayed to customers on for instance invoices or receipts.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["coupon"],
            "type": "string"
          },
          "percent_off": {
            "description": "Percent that will be taken off the subtotal of any invoices for this customer for the duration of the coupon. For example, a coupon with percent_off of 50 will make a %s100 invoice %s50 instead.",
            "nullable": true,
            "type": "number"
          },
          "redeem_by": {
            "description": "Date after which the coupon can no longer be redeemed.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "times_redeemed": {
            "description": "Number of times this coupon has been applied to a customer.",
            "type": "integer"
          },
          "valid": {
            "description": "Taking account of the above properties, whether this coupon can still be applied to a customer.",
            "type": "boolean"
          }
        },
        "required": ["created", "duration", "id", "livemode", "object", "times_redeemed", "valid"],
        "title": "Coupon",
        "type": "object",
        "x-expandableFields": ["applies_to"],
        "x-resourceId": "coupon"
      },
      "coupon_applies_to": {
        "description": "",
        "properties": {
          "products": {
            "description": "A list of product IDs this coupon applies to",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": ["products"],
        "title": "CouponAppliesTo",
        "type": "object",
        "x-expandableFields": []
      },
      "credit_note": {
        "description": "Issue a credit note to adjust an invoice's amount after the invoice is finalized.\n\nRelated guide: [Credit Notes](https://stripe.com/docs/billing/invoices/credit-notes).",
        "properties": {
          "amount": {
            "description": "The integer amount in %s representing the total amount of the credit note, including tax.",
            "type": "integer"
          },
          "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).",
            "type": "string"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "ID of the customer.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "customer_balance_transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer_balance_transaction"
              }
            ],
            "description": "Customer balance transaction related to this credit note.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer_balance_transaction"
                }
              ]
            }
          },
          "discount_amount": {
            "description": "The integer amount in %s representing the total amount of discount that was credited.",
            "type": "integer"
          },
          "discount_amounts": {
            "description": "The aggregate amounts calculated per discount for all line items.",
            "items": {
              "$ref": "#/components/schemas/discounts_resource_discount_amount"
            },
            "type": "array"
          },
          "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.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/invoice"
                }
              ]
            }
          },
          "lines": {
            "description": "Line items that make up the credit note",
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "$ref": "#/components/schemas/credit_note_line_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": "CreditNoteLinesList",
            "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"
          },
          "memo": {
            "description": "Customer-facing text that appears on the credit note PDF.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "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.",
            "nullable": true,
            "type": "object"
          },
          "number": {
            "description": "A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["credit_note"],
            "type": "string"
          },
          "out_of_band_amount": {
            "description": "Amount that was credited outside of Stripe.",
            "nullable": true,
            "type": "integer"
          },
          "pdf": {
            "description": "The link to download the PDF of the credit note.",
            "maxLength": 5000,
            "type": "string"
          },
          "reason": {
            "description": "Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`",
            "enum": ["duplicate", "fraudulent", "order_change", "product_unsatisfactory"],
            "nullable": true,
            "type": "string"
          },
          "refund": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/refund"
              }
            ],
            "description": "Refund related to this credit note.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/refund"
                }
              ]
            }
          },
          "status": {
            "description": "Status of this credit note, one of `issued` or `void`. Learn more about [voiding credit notes](https://stripe.com/docs/billing/invoices/credit-notes#voiding).",
            "enum": ["issued", "void"],
            "type": "string"
          },
          "subtotal": {
            "description": "The integer amount in %s representing the amount of the credit note, excluding tax and invoice level discounts.",
            "type": "integer"
          },
          "tax_amounts": {
            "description": "The aggregate amounts calculated per tax rate for all line items.",
            "items": {
              "$ref": "#/components/schemas/credit_note_tax_amount"
            },
            "type": "array"
          },
          "total": {
            "description": "The integer amount in %s representing the total amount of the credit note, including tax and all discount.",
            "type": "integer"
          },
          "type": {
            "description": "Type of this credit note, one of `pre_payment` or `post_payment`. A `pre_payment` credit note means it was issued when the invoice was open. A `post_payment` credit note means it was issued when the invoice was paid.",
            "enum": ["post_payment", "pre_payment"],
            "type": "string"
          },
          "voided_at": {
            "description": "The time that the credit note was voided.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          }
        },
        "required": [
          "amount",
          "created",
          "currency",
          "customer",
          "discount_amount",
          "discount_amounts",
          "id",
          "invoice",
          "lines",
          "livemode",
          "number",
          "object",
          "pdf",
          "status",
          "subtotal",
          "tax_amounts",
          "total",
          "type"
        ],
        "title": "CreditNote",
        "type": "object",
        "x-expandableFields": [
          "customer",
          "customer_balance_transaction",
          "discount_amounts",
          "invoice",
          "lines",
          "refund",
          "tax_amounts"
        ],
        "x-resourceId": "credit_note"
      },
      "credit_note_line_item": {
        "description": "",
        "properties": {
          "amount": {
            "description": "The integer amount in %s representing the gross amount being credited for this line item, excluding (exclusive) tax and discounts.",
            "type": "integer"
          },
          "description": {
            "description": "Description of the item being credited.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "discount_amount": {
            "description": "The integer amount in %s representing the discount being credited for this line item.",
            "type": "integer"
          },
          "discount_amounts": {
            "description": "The amount of discount calculated per discount for this line item",
            "items": {
              "$ref": "#/components/schemas/discounts_resource_discount_amount"
            },
            "type": "array"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "invoice_line_item": {
            "description": "ID of the invoice line item being credited",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["credit_note_line_item"],
            "type": "string"
          },
          "quantity": {
            "description": "The number of units of product being credited.",
            "nullable": true,
            "type": "integer"
          },
          "tax_amounts": {
            "description": "The amount of tax calculated per tax rate for this line item",
            "items": {
              "$ref": "#/components/schemas/credit_note_tax_amount"
            },
            "type": "array"
          },
          "tax_rates": {
            "description": "The tax rates which apply to the line item.",
            "items": {
              "$ref": "#/components/schemas/tax_rate"
            },
            "type": "array"
          },
          "type": {
            "description": "The type of the credit note line item, one of `invoice_line_item` or `custom_line_item`. When the type is `invoice_line_item` there is an additional `invoice_line_item` property on the resource the value of which is the id of the credited line item on the invoice.",
            "enum": ["custom_line_item", "invoice_line_item"],
            "type": "string"
          },
          "unit_amount": {
            "description": "The cost of each unit of product being credited.",
            "nullable": true,
            "type": "integer"
          },
          "unit_amount_decimal": {
            "description": "Same as `unit_amount`, but contains a decimal value with at most 12 decimal places.",
            "format": "decimal",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "amount",
          "discount_amount",
          "discount_amounts",
          "id",
          "livemode",
          "object",
          "tax_amounts",
          "tax_rates",
          "type"
        ],
        "title": "CreditNoteLineItem",
        "type": "object",
        "x-expandableFields": ["discount_amounts", "tax_amounts", "tax_rates"],
        "x-resourceId": "credit_note_line_item"
      },
      "credit_note_tax_amount": {
        "description": "",
        "properties": {
          "amount": {
            "description": "The amount, in %s, of the tax.",
            "type": "integer"
          },
          "inclusive": {
            "description": "Whether this tax amount is inclusive or exclusive.",
            "type": "boolean"
          },
          "tax_rate": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/tax_rate"
              }
            ],
            "description": "The tax rate that was applied to get this tax amount.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/tax_rate"
                }
              ]
            }
          }
        },
        "required": ["amount", "inclusive", "tax_rate"],
        "title": "CreditNoteTaxAmount",
        "type": "object",
        "x-expandableFields": ["tax_rate"]
      },
      "customer": {
        "description": "`Customer` objects allow you to perform recurring charges, and to track\nmultiple charges, that are associated with the same customer. The API allows\nyou to create, delete, and update your customers. You can retrieve individual\ncustomers as well as a list of all your customers.\n\nRelated guide: [Save a card during payment](https://stripe.com/docs/payments/save-during-payment).",
        "properties": {
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "The customer's address.",
            "nullable": true
          },
          "balance": {
            "description": "Current balance, if any, being stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that will be added to their next invoice. The balance does not refer to any unpaid invoices; it solely takes into account amounts that have yet to be successfully applied to any invoice. This balance is only taken into account as invoices are finalized.",
            "type": "integer"
          },
          "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 code for the currency](https://stripe.com/docs/currencies) the customer can be charged in for recurring billing purposes.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "default_source": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/alipay_account"
              },
              {
                "$ref": "#/components/schemas/bank_account"
              },
              {
                "$ref": "#/components/schemas/bitcoin_receiver"
              },
              {
                "$ref": "#/components/schemas/card"
              },
              {
                "$ref": "#/components/schemas/source"
              }
            ],
            "description": "ID of the default payment source for the customer.\n\nIf you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) field instead.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/alipay_account"
                },
                {
                  "$ref": "#/components/schemas/bank_account"
                },
                {
                  "$ref": "#/components/schemas/bitcoin_receiver"
                },
                {
                  "$ref": "#/components/schemas/card"
                },
                {
                  "$ref": "#/components/schemas/source"
                }
              ]
            }
          },
          "delinquent": {
            "description": "When the customer's latest invoice is billed by charging automatically, `delinquent` is `true` if the invoice's latest charge failed. When the customer's latest invoice is billed by sending an invoice, `delinquent` is `true` if the invoice isn't paid by its due date.\n\nIf an invoice is marked uncollectible by [dunning](https://stripe.com/docs/billing/automatic-collection), `delinquent` doesn't get reset to `false`.",
            "nullable": true,
            "type": "boolean"
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "discount": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/discount"
              }
            ],
            "description": "Describes the current discount active on the customer, if there is one.",
            "nullable": true
          },
          "email": {
            "description": "The customer's email address.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "invoice_prefix": {
            "description": "The prefix for the customer used to generate unique invoice numbers.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "invoice_settings": {
            "$ref": "#/components/schemas/invoice_setting_customer_setting"
          },
          "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 customer's full name or business name.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "next_invoice_sequence": {
            "description": "The suffix of the customer's next invoice number, e.g., 0001.",
            "type": "integer"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["customer"],
            "type": "string"
          },
          "phone": {
            "description": "The customer's phone number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "preferred_locales": {
            "description": "The customer's preferred locales (languages), ordered by preference.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "shipping": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/shipping"
              }
            ],
            "description": "Mailing and shipping address for the customer. Appears on invoices emailed to this customer.",
            "nullable": true
          },
          "sources": {
            "description": "The customer's payment sources, if any.",
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/alipay_account"
                    },
                    {
                      "$ref": "#/components/schemas/bank_account"
                    },
                    {
                      "$ref": "#/components/schemas/bitcoin_receiver"
                    },
                    {
                      "$ref": "#/components/schemas/card"
                    },
                    {
                      "$ref": "#/components/schemas/source"
                    }
                  ],
                  "title": "Polymorphic"
                },
                "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": "ApmsSourcesSourceList",
            "type": "object",
            "x-expandableFields": ["data"]
          },
          "subscriptions": {
            "description": "The customer's current subscriptions, if any.",
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "$ref": "#/components/schemas/subscription"
                },
                "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": "SubscriptionList",
            "type": "object",
            "x-expandableFields": ["data"]
          },
          "tax_exempt": {
            "description": "Describes the customer's tax exemption status. One of `none`, `exempt`, or `reverse`. When set to `reverse`, invoice and receipt PDFs include the text **\"Reverse charge\"**.",
            "enum": ["exempt", "none", "reverse"],
            "nullable": true,
            "type": "string"
          },
          "tax_ids": {
            "description": "The customer's tax IDs.",
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "$ref": "#/components/schemas/tax_id"
                },
                "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": "TaxIDsList",
            "type": "object",
            "x-expandableFields": ["data"]
          }
        },
        "required": ["created", "id", "livemode", "object"],
        "title": "Customer",
        "type": "object",
        "x-expandableFields": [
          "address",
          "default_source",
          "discount",
          "invoice_settings",
          "shipping",
          "sources",
          "subscriptions",
          "tax_ids"
        ],
        "x-resourceId": "customer"
      },
      "customer_acceptance": {
        "description": "",
        "properties": {
          "accepted_at": {
            "description": "The time at which the customer accepted the Mandate.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "offline": {
            "$ref": "#/components/schemas/offline_acceptance"
          },
          "online": {
            "$ref": "#/components/schemas/online_acceptance"
          },
          "type": {
            "description": "The type of customer acceptance information included with the Mandate. One of `online` or `offline`.",
            "enum": ["offline", "online"],
            "type": "string"
          }
        },
        "required": ["type"],
        "title": "customer_acceptance",
        "type": "object",
        "x-expandableFields": ["offline", "online"]
      },
      "customer_balance_transaction": {
        "description": "Each customer has a [`balance`](https://stripe.com/docs/api/customers/object#customer_object-balance) value,\nwhich denotes a debit or credit that's automatically applied to their next invoice upon finalization.\nYou may modify the value directly by using the [update customer API](https://stripe.com/docs/api/customers/update),\nor by creating a Customer Balance Transaction, which increments or decrements the customer's `balance` by the specified `amount`.\n\nRelated guide: [Customer Balance](https://stripe.com/docs/billing/customer/balance) to learn more.",
        "properties": {
          "amount": {
            "description": "The amount of the transaction. A negative value is a credit for the customer's balance, and a positive value is a debit to the customer's `balance`.",
            "type": "integer"
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "credit_note": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/credit_note"
              }
            ],
            "description": "The ID of the credit note (if any) related to the transaction.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/credit_note"
                }
              ]
            }
          },
          "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).",
            "type": "string"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              }
            ],
            "description": "The ID of the customer the transaction belongs to.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                }
              ]
            }
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "ending_balance": {
            "description": "The customer's `balance` after the transaction was applied. A negative value decreases the amount due on the customer's next invoice. A positive value increases the amount due on the customer's next invoice.",
            "type": "integer"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "invoice": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/invoice"
              }
            ],
            "description": "The ID of the invoice (if any) related to the transaction.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/invoice"
                }
              ]
            }
          },
          "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.",
            "nullable": true,
            "type": "object"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["customer_balance_transaction"],
            "type": "string"
          },
          "type": {
            "description": "Transaction type: `adjustment`, `applied_to_invoice`, `credit_note`, `initial`, `invoice_too_large`, `invoice_too_small`, `unspent_receiver_credit`, or `unapplied_from_invoice`. See the [Customer Balance page](https://stripe.com/docs/billing/customer/balance#types) to learn more about transaction types.",
            "enum": [
              "adjustment",
              "applied_to_invoice",
              "credit_note",
              "initial",
              "invoice_too_large",
              "invoice_too_small",
              "migration",
              "unapplied_from_invoice",
              "unspent_receiver_credit"
            ],
            "type": "string"
          }
        },
        "required": ["amount", "created", "currency", "customer", "ending_balance", "id", "livemode", "object", "type"],
        "title": "CustomerBalanceTransaction",
        "type": "object",
        "x-expandableFields": ["credit_note", "customer", "invoice"],
        "x-resourceId": "customer_balance_transaction"
      },
      "deleted_account": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["account"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedAccount",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_account"
      },
      "deleted_alipay_account": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["alipay_account"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "AlipayDeletedAccount",
        "type": "object",
        "x-expandableFields": []
      },
      "deleted_apple_pay_domain": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["apple_pay_domain"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedApplePayDomain",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_apple_pay_domain"
      },
      "deleted_bank_account": {
        "description": "",
        "properties": {
          "currency": {
            "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["bank_account"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedBankAccount",
        "type": "object",
        "x-expandableFields": []
      },
      "deleted_bitcoin_receiver": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["bitcoin_receiver"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "BitcoinDeletedReceiver",
        "type": "object",
        "x-expandableFields": []
      },
      "deleted_card": {
        "description": "",
        "properties": {
          "currency": {
            "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/payouts) paid out to the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["card"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedCard",
        "type": "object",
        "x-expandableFields": []
      },
      "deleted_coupon": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["coupon"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedCoupon",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_coupon"
      },
      "deleted_customer": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["customer"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedCustomer",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_customer"
      },
      "deleted_discount": {
        "description": "",
        "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"
          },
          "coupon": {
            "$ref": "#/components/schemas/coupon"
          },
          "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"
                }
              ]
            }
          },
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "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"
                }
              ]
            }
          },
          "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"
          }
        },
        "required": ["coupon", "deleted", "id", "object", "start"],
        "title": "DeletedDiscount",
        "type": "object",
        "x-expandableFields": ["coupon", "customer", "promotion_code"],
        "x-resourceId": "deleted_discount"
      },
      "deleted_external_account": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/deleted_bank_account"
          },
          {
            "$ref": "#/components/schemas/deleted_card"
          }
        ],
        "title": "Polymorphic",
        "x-resourceId": "deleted_external_account"
      },
      "deleted_invoice": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["invoice"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedInvoice",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_invoice"
      },
      "deleted_invoiceitem": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["invoiceitem"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedInvoiceItem",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_invoiceitem"
      },
      "deleted_payment_source": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/deleted_alipay_account"
          },
          {
            "$ref": "#/components/schemas/deleted_bank_account"
          },
          {
            "$ref": "#/components/schemas/deleted_bitcoin_receiver"
          },
          {
            "$ref": "#/components/schemas/deleted_card"
          }
        ],
        "title": "Polymorphic",
        "x-resourceId": "deleted_payment_source"
      },
      "deleted_person": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["person"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedPerson",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_person"
      },
      "deleted_plan": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["plan"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedPlan",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_plan"
      },
      "deleted_price": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["price"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedPrice",
        "type": "object",
        "x-expandableFields": []
      },
      "deleted_product": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "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"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedProduct",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_product"
      },
      "deleted_radar.value_list": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["radar.value_list"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "RadarListDeletedList",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_radar.value_list"
      },
      "deleted_radar.value_list_item": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["radar.value_list_item"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "RadarListDeletedListItem",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_radar.value_list_item"
      },
      "deleted_recipient": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["recipient"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedTransferRecipient",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_recipient"
      },
      "deleted_sku": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["sku"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedSku",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_sku"
      },
      "deleted_subscription_item": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["subscription_item"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "DeletedSubscriptionItem",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_subscription_item"
      },
      "deleted_tax_id": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["tax_id"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "deleted_tax_id",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_tax_id"
      },
      "deleted_terminal.location": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["terminal.location"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "TerminalLocationDeletedLocation",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_terminal.location"
      },
      "deleted_terminal.reader": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["terminal.reader"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "TerminalReaderDeletedReader",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_terminal.reader"
      },
      "deleted_webhook_endpoint": {
        "description": "",
        "properties": {
          "deleted": {
            "description": "Always true for a deleted object",
            "enum": [true],
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["webhook_endpoint"],
            "type": "string"
          }
        },
        "required": ["deleted", "id", "object"],
        "title": "NotificationWebhookEndpointDeleted",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "deleted_webhook_endpoint"
      },
      "delivery_estimate": {
        "description": "",
        "properties": {
          "date": {
            "description": "If `type` is `\"exact\"`, `date` will be the expected delivery date in the format YYYY-MM-DD.",
            "maxLength": 5000,
            "type": "string"
          },
          "earliest": {
            "description": "If `type` is `\"range\"`, `earliest` will be be the earliest delivery date in the format YYYY-MM-DD.",
            "maxLength": 5000,
            "type": "string"
          },
          "latest": {
            "description": "If `type` is `\"range\"`, `latest` will be the latest delivery date in the format YYYY-MM-DD.",
            "maxLength": 5000,
            "type": "string"
          },
          "type": {
            "description": "The type of estimate. Must be either `\"range\"` or `\"exact\"`.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["type"],
        "title": "DeliveryEstimate",
        "type": "object",
        "x-expandableFields": []
      },
      "discount": {
        "description": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/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"
          },
          "coupon": {
            "$ref": "#/components/schemas/coupon"
          },
          "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"
                }
              ]
            }
          },
          "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"
                }
              ]
            }
          },
          "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"
          }
        },
        "required": ["coupon", "id", "object", "start"],
        "title": "Discount",
        "type": "object",
        "x-expandableFields": ["coupon", "customer", "promotion_code"],
        "x-resourceId": "discount"
      },
      "discounts_resource_discount_amount": {
        "description": "",
        "properties": {
          "amount": {
            "description": "The amount, in %s, of the discount.",
            "type": "integer"
          },
          "discount": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/discount"
              },
              {
                "$ref": "#/components/schemas/deleted_discount"
              }
            ],
            "description": "The discount that was applied to get this discount amount.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/discount"
                },
                {
                  "$ref": "#/components/schemas/deleted_discount"
                }
              ]
            }
          }
        },
        "required": ["amount", "discount"],
        "title": "DiscountsResourceDiscountAmount",
        "type": "object",
        "x-expandableFields": ["discount"]
      },
      "dispute": {
        "description": "A dispute occurs when a customer questions your charge with their card issuer.\nWhen this happens, you're given the opportunity to respond to the dispute with\nevidence that shows that the charge is legitimate. You can find more\ninformation about the dispute process in our [Disputes and\nFraud](/docs/disputes) documentation.\n\nRelated guide: [Disputes and Fraud](https://stripe.com/docs/disputes).",
        "properties": {
          "amount": {
            "description": "Disputed amount. Usually the amount of the charge, but can differ (usually because of currency fluctuation or because only part of the order is disputed).",
            "type": "integer"
          },
          "balance_transactions": {
            "description": "List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute.",
            "items": {
              "$ref": "#/components/schemas/balance_transaction"
            },
            "type": "array"
          },
          "charge": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/charge"
              }
            ],
            "description": "ID of the charge that was disputed.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/charge"
                }
              ]
            }
          },
          "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).",
            "type": "string"
          },
          "evidence": {
            "$ref": "#/components/schemas/dispute_evidence"
          },
          "evidence_details": {
            "$ref": "#/components/schemas/dispute_evidence_details"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "is_charge_refundable": {
            "description": "If true, it is still possible to refund the disputed payment. Once the payment has been fully refunded, no further funds will be withdrawn from your Stripe account as a result of this dispute.",
            "type": "boolean"
          },
          "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["dispute"],
            "type": "string"
          },
          "payment_intent": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_intent"
              }
            ],
            "description": "ID of the PaymentIntent that was disputed.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_intent"
                }
              ]
            }
          },
          "reason": {
            "description": "Reason given by cardholder for dispute. Possible values are `bank_cannot_process`, `check_returned`, `credit_not_processed`, `customer_initiated`, `debit_not_authorized`, `duplicate`, `fraudulent`, `general`, `incorrect_account_details`, `insufficient_funds`, `product_not_received`, `product_unacceptable`, `subscription_canceled`, or `unrecognized`. Read more about [dispute reasons](https://stripe.com/docs/disputes/categories).",
            "maxLength": 5000,
            "type": "string"
          },
          "status": {
            "description": "Current status of dispute. Possible values are `warning_needs_response`, `warning_under_review`, `warning_closed`, `needs_response`, `under_review`, `charge_refunded`, `won`, or `lost`.",
            "enum": [
              "charge_refunded",
              "lost",
              "needs_response",
              "under_review",
              "warning_closed",
              "warning_needs_response",
              "warning_under_review",
              "won"
            ],
            "type": "string"
          }
        },
        "required": [
          "amount",
          "balance_transactions",
          "charge",
          "created",
          "currency",
          "evidence",
          "evidence_details",
          "id",
          "is_charge_refundable",
          "livemode",
          "metadata",
          "object",
          "reason",
          "status"
        ],
        "title": "Dispute",
        "type": "object",
        "x-expandableFields": ["balance_transactions", "charge", "evidence", "evidence_details", "payment_intent"],
        "x-resourceId": "dispute"
      },
      "dispute_evidence": {
        "description": "",
        "properties": {
          "access_activity_log": {
            "description": "Any server or activity logs showing proof that the customer accessed or downloaded the purchased digital product. This information should include IP addresses, corresponding timestamps, and any detailed recorded activity.",
            "maxLength": 150000,
            "nullable": true,
            "type": "string"
          },
          "billing_address": {
            "description": "The billing address provided by the customer.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "cancellation_policy": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your subscription cancellation policy, as shown to the customer.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "cancellation_policy_disclosure": {
            "description": "An explanation of how and when the customer was shown your refund policy prior to purchase.",
            "maxLength": 150000,
            "nullable": true,
            "type": "string"
          },
          "cancellation_rebuttal": {
            "description": "A justification for why the customer's subscription was not canceled.",
            "maxLength": 150000,
            "nullable": true,
            "type": "string"
          },
          "customer_communication": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "customer_email_address": {
            "description": "The email address of the customer.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "customer_name": {
            "description": "The name of the customer.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "customer_purchase_ip": {
            "description": "The IP address that the customer used when making the purchase.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "customer_signature": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A relevant document or contract showing the customer's signature.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "duplicate_charge_documentation": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "duplicate_charge_explanation": {
            "description": "An explanation of the difference between the disputed charge versus the prior charge that appears to be a duplicate.",
            "maxLength": 150000,
            "nullable": true,
            "type": "string"
          },
          "duplicate_charge_id": {
            "description": "The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "product_description": {
            "description": "A description of the product or service that was sold.",
            "maxLength": 150000,
            "nullable": true,
            "type": "string"
          },
          "receipt": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any receipt or message sent to the customer notifying them of the charge.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "refund_policy": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Your refund policy, as shown to the customer.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "refund_policy_disclosure": {
            "description": "Documentation demonstrating that the customer was shown your refund policy prior to purchase.",
            "maxLength": 150000,
            "nullable": true,
            "type": "string"
          },
          "refund_refusal_explanation": {
            "description": "A justification for why the customer is not entitled to a refund.",
            "maxLength": 150000,
            "nullable": true,
            "type": "string"
          },
          "service_date": {
            "description": "The date on which the customer received or began receiving the purchased service, in a clear human-readable format.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "service_documentation": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "shipping_address": {
            "description": "The address to which a physical product was shipped. You should try to include as complete address information as possible.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "shipping_carrier": {
            "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If multiple carriers were used for this purchase, please separate them with commas.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "shipping_date": {
            "description": "The date on which a physical product began its route to the shipping address, in a clear human-readable format.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "shipping_documentation": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer's full shipping address, if possible.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "shipping_tracking_number": {
            "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "uncategorized_file": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Any additional evidence or statements.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "uncategorized_text": {
            "description": "Any additional evidence or statements.",
            "maxLength": 150000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "DisputeEvidence",
        "type": "object",
        "x-expandableFields": [
          "cancellation_policy",
          "customer_communication",
          "customer_signature",
          "duplicate_charge_documentation",
          "receipt",
          "refund_policy",
          "service_documentation",
          "shipping_documentation",
          "uncategorized_file"
        ]
      },
      "dispute_evidence_details": {
        "description": "",
        "properties": {
          "due_by": {
            "description": "Date by which evidence must be submitted in order to successfully challenge dispute. Will be null if the customer's bank or credit card company doesn't allow a response for this particular dispute.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "has_evidence": {
            "description": "Whether evidence has been staged for this dispute.",
            "type": "boolean"
          },
          "past_due": {
            "description": "Whether the last evidence submission was submitted past the due date. Defaults to `false` if no evidence submissions have occurred. If `true`, then delivery of the latest evidence is *not* guaranteed.",
            "type": "boolean"
          },
          "submission_count": {
            "description": "The number of times evidence has been submitted. Typically, you may only submit evidence once.",
            "type": "integer"
          }
        },
        "required": ["has_evidence", "past_due", "submission_count"],
        "title": "DisputeEvidenceDetails",
        "type": "object",
        "x-expandableFields": []
      },
      "ephemeral_key": {
        "description": "",
        "properties": {
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "expires": {
            "description": "Time at which the key will expire. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["ephemeral_key"],
            "type": "string"
          },
          "secret": {
            "description": "The key's secret. You can use this value to make authorized requests to the Stripe API.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["created", "expires", "id", "livemode", "object"],
        "title": "EphemeralKey",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "ephemeral_key"
      },
      "error": {
        "description": "An error response from the Stripe API",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/api_errors"
          }
        },
        "required": ["error"],
        "type": "object"
      },
      "event": {
        "description": "Events are our way of letting you know when something interesting happens in\nyour account. When an interesting event occurs, we create a new `Event`\nobject. For example, when a charge succeeds, we create a `charge.succeeded`\nevent; and when an invoice payment attempt fails, we create an\n`invoice.payment_failed` event. Note that many API requests may cause multiple\nevents to be created. For example, if you create a new subscription for a\ncustomer, you will receive both a `customer.subscription.created` event and a\n`charge.succeeded` event.\n\nEvents occur when the state of another API resource changes. The state of that\nresource at the time of the change is embedded in the event's data field. For\nexample, a `charge.succeeded` event will contain a charge, and an\n`invoice.payment_failed` event will contain an invoice.\n\nAs with other API resources, you can use endpoints to retrieve an\n[individual event](https://stripe.com/docs/api#retrieve_event) or a [list of events](https://stripe.com/docs/api#list_events)\nfrom the API. We also have a separate\n[webhooks](http://en.wikipedia.org/wiki/Webhook) system for sending the\n`Event` objects directly to an endpoint on your server. Webhooks are managed\nin your\n[account settings](https://dashboard.stripe.com/account/webhooks),\nand our [Using Webhooks](https://stripe.com/docs/webhooks) guide will help you get set up.\n\nWhen using [Connect](https://stripe.com/docs/connect), you can also receive notifications of\nevents that occur in connected accounts. For these events, there will be an\nadditional `account` attribute in the received `Event` object.\n\n**NOTE:** Right now, access to events through the [Retrieve Event API](https://stripe.com/docs/api#retrieve_event) is\nguaranteed only for 30 days.",
        "properties": {
          "account": {
            "description": "The connected account that originated the event.",
            "maxLength": 5000,
            "type": "string"
          },
          "api_version": {
            "description": "The Stripe API version used to render `data`. *Note: This property is populated only for events on or after October 31, 2014*.",
            "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"
          },
          "data": {
            "$ref": "#/components/schemas/notification_event_data"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["event"],
            "type": "string"
          },
          "pending_webhooks": {
            "description": "Number of webhooks that have yet to be successfully delivered (i.e., to return a 20x response) to the URLs you've specified.",
            "type": "integer"
          },
          "request": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/notification_event_request"
              }
            ],
            "description": "Information on the API request that instigated the event.",
            "nullable": true
          },
          "type": {
            "description": "Description of the event (e.g., `invoice.created` or `charge.refunded`).",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["created", "data", "id", "livemode", "object", "pending_webhooks", "type"],
        "title": "NotificationEvent",
        "type": "object",
        "x-expandableFields": ["data", "request"],
        "x-resourceId": "event"
      },
      "exchange_rate": {
        "description": "`Exchange Rate` objects allow you to determine the rates that Stripe is\ncurrently using to convert from one currency to another. Since this number is\nvariable throughout the day, there are various reasons why you might want to\nknow the current rate (for example, to dynamically price an item for a user\nwith a default payment in a foreign currency).\n\nIf you want a guarantee that the charge is made with a certain exchange rate\nyou expect is current, you can pass in `exchange_rate` to charges endpoints.\nIf the value is no longer up to date, the charge won't go through. Please\nrefer to our [Exchange Rates API](https://stripe.com/docs/exchange-rates) guide for more\ndetails.",
        "properties": {
          "id": {
            "description": "Unique identifier for the object. Represented as the three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) in lowercase.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["exchange_rate"],
            "type": "string"
          },
          "rates": {
            "additionalProperties": {
              "type": "number"
            },
            "description": "Hash where the keys are supported currencies and the values are the exchange rate at which the base id currency converts to the key currency.",
            "type": "object"
          }
        },
        "required": ["id", "object", "rates"],
        "title": "ExchangeRate",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "exchange_rate"
      },
      "external_account": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/bank_account"
          },
          {
            "$ref": "#/components/schemas/card"
          }
        ],
        "title": "Polymorphic",
        "x-resourceId": "external_account"
      },
      "fee": {
        "description": "",
        "properties": {
          "amount": {
            "description": "Amount of the fee, in cents.",
            "type": "integer"
          },
          "application": {
            "description": "ID of the Connect application that earned the fee.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "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).",
            "type": "string"
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Type of the fee, one of: `application_fee`, `stripe_fee` or `tax`.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["amount", "currency", "type"],
        "title": "Fee",
        "type": "object",
        "x-expandableFields": []
      },
      "fee_refund": {
        "description": "`Application Fee Refund` objects allow you to refund an application fee that\nhas previously been created but not yet refunded. Funds will be refunded to\nthe Stripe account from which the fee was originally collected.\n\nRelated guide: [Refunding Application Fees](https://stripe.com/docs/connect/destination-charges#refunding-app-fee).",
        "properties": {
          "amount": {
            "description": "Amount, in %s.",
            "type": "integer"
          },
          "balance_transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/balance_transaction"
              }
            ],
            "description": "Balance transaction that describes the impact on your account balance.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/balance_transaction"
                }
              ]
            }
          },
          "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).",
            "type": "string"
          },
          "fee": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/application_fee"
              }
            ],
            "description": "ID of the application fee that was refunded.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/application_fee"
                }
              ]
            }
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "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.",
            "nullable": true,
            "type": "object"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["fee_refund"],
            "type": "string"
          }
        },
        "required": ["amount", "created", "currency", "fee", "id", "object"],
        "title": "FeeRefund",
        "type": "object",
        "x-expandableFields": ["balance_transaction", "fee"],
        "x-resourceId": "fee_refund"
      },
      "file": {
        "description": "This is an object representing a file hosted on Stripe's servers. The\nfile may have been uploaded by yourself using the [create file](https://stripe.com/docs/api#create_file)\nrequest (for example, when uploading dispute evidence) or it may have\nbeen created by Stripe (for example, the results of a [Sigma scheduled\nquery](#scheduled_queries)).\n\nRelated guide: [File Upload Guide](https://stripe.com/docs/file-upload).",
        "properties": {
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "expires_at": {
            "description": "The time at which the file expires and is no longer available in epoch seconds.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "filename": {
            "description": "A filename for the file, suitable for saving to a filesystem.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "links": {
            "description": "A list of [file links](https://stripe.com/docs/api#file_links) that point at this file.",
            "nullable": true,
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "$ref": "#/components/schemas/file_link"
                },
                "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": "FileFileLinkList",
            "type": "object",
            "x-expandableFields": ["data"]
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["file"],
            "type": "string"
          },
          "purpose": {
            "description": "The [purpose](https://stripe.com/docs/file-upload#uploading-a-file) of the uploaded file.",
            "enum": [
              "account_requirement",
              "additional_verification",
              "business_icon",
              "business_logo",
              "customer_signature",
              "dispute_evidence",
              "identity_document",
              "pci_document",
              "tax_document_user_upload"
            ],
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "size": {
            "description": "The size in bytes of the file object.",
            "type": "integer"
          },
          "title": {
            "description": "A user friendly title for the document.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "The type of the file returned (e.g., `csv`, `pdf`, `jpg`, or `png`).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "url": {
            "description": "The URL from which the file can be downloaded using your live secret API key.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["created", "id", "object", "purpose", "size"],
        "title": "File",
        "type": "object",
        "x-expandableFields": ["links"],
        "x-resourceId": "file"
      },
      "file_link": {
        "description": "To share the contents of a `File` object with non-Stripe users, you can\ncreate a `FileLink`. `FileLink`s contain a URL that can be used to\nretrieve the contents of the file without authentication.",
        "properties": {
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "expired": {
            "description": "Whether this link is already expired.",
            "type": "boolean"
          },
          "expires_at": {
            "description": "Time at which the link expires.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "file": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "The file object this link points to.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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://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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["file_link"],
            "type": "string"
          },
          "url": {
            "description": "The publicly accessible URL to download the file.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["created", "expired", "file", "id", "livemode", "metadata", "object"],
        "title": "FileLink",
        "type": "object",
        "x-expandableFields": ["file"],
        "x-resourceId": "file_link"
      },
      "financial_reporting_finance_report_run_run_parameters": {
        "description": "",
        "properties": {
          "columns": {
            "description": "The set of output columns requested for inclusion in the report run.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "connected_account": {
            "description": "Connected account ID by which to filter the report run.",
            "maxLength": 5000,
            "type": "string"
          },
          "currency": {
            "description": "Currency of objects to be included in the report run.",
            "type": "string"
          },
          "interval_end": {
            "description": "Ending timestamp of data to be included in the report run (exclusive).",
            "format": "unix-time",
            "type": "integer"
          },
          "interval_start": {
            "description": "Starting timestamp of data to be included in the report run.",
            "format": "unix-time",
            "type": "integer"
          },
          "payout": {
            "description": "Payout ID by which to filter the report run.",
            "maxLength": 5000,
            "type": "string"
          },
          "reporting_category": {
            "description": "Category of balance transactions to be included in the report run.",
            "maxLength": 5000,
            "type": "string"
          },
          "timezone": {
            "description": "Defaults to `Etc/UTC`. The output timezone for all timestamps in the report. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones). Has no effect on `interval_start` or `interval_end`.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "title": "FinancialReportingFinanceReportRunRunParameters",
        "type": "object",
        "x-expandableFields": []
      },
      "inventory": {
        "description": "",
        "properties": {
          "quantity": {
            "description": "The count of inventory available. Will be present if and only if `type` is `finite`.",
            "nullable": true,
            "type": "integer"
          },
          "type": {
            "description": "Inventory type. Possible values are `finite`, `bucket` (not quantified), and `infinite`.",
            "maxLength": 5000,
            "type": "string"
          },
          "value": {
            "description": "An indicator of the inventory available. Possible values are `in_stock`, `limited`, and `out_of_stock`. Will be present if and only if `type` is `bucket`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["type"],
        "title": "Inventory",
        "type": "object",
        "x-expandableFields": []
      },
      "invoice": {
        "description": "Invoices are statements of amounts owed by a customer, and are either\ngenerated one-off, or generated periodically from a subscription.\n\nThey contain [invoice items](https://stripe.com/docs/api#invoiceitems), and proration adjustments\nthat may be caused by subscription upgrades/downgrades (if necessary).\n\nIf your invoice is configured to be billed through automatic charges,\nStripe automatically finalizes your invoice and attempts payment. Note\nthat finalizing the invoice,\n[when automatic](https://stripe.com/docs/billing/invoices/workflow/#auto_advance), does\nnot happen immediately as the invoice is created. Stripe waits\nuntil one hour after the last webhook was successfully sent (or the last\nwebhook timed out after failing). If you (and the platforms you may have\nconnected to) have no webhooks configured, Stripe waits one hour after\ncreation to finalize the invoice.\n\nIf your invoice is configured to be billed by sending an email, then based on your\n[email settings](https://dashboard.stripe.com/account/billing/automatic'),\nStripe will email the invoice to your customer and await payment. These\nemails can contain a link to a hosted page to pay the invoice.\n\nStripe applies any customer credit on the account before determining the\namount due for the invoice (i.e., the amount that will be actually\ncharged). If the amount due for the invoice is less than Stripe's [minimum allowed charge\nper currency](/docs/currencies#minimum-and-maximum-charge-amounts), the\ninvoice is automatically marked paid, and we add the amount due to the\ncustomer's credit balance which is applied to the next invoice.\n\nMore details on the customer's credit balance are\n[here](https://stripe.com/docs/billing/customer/balance).\n\nRelated guide: [Send Invoices to Customers](https://stripe.com/docs/billing/invoices/sending).",
        "properties": {
          "account_country": {
            "description": "The country of the business associated with this invoice, most often the business creating the invoice.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "account_name": {
            "description": "The public name of the business associated with this invoice, most often the business creating the invoice.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "account_tax_ids": {
            "description": "The account tax IDs associated with the invoice. Only editable when the invoice is a draft.",
            "items": {
              "anyOf": [
                {
                  "maxLength": 5000,
                  "type": "string"
                },
                {
                  "$ref": "#/components/schemas/tax_id"
                },
                {
                  "$ref": "#/components/schemas/deleted_tax_id"
                }
              ],
              "x-expansionResources": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/tax_id"
                  },
                  {
                    "$ref": "#/components/schemas/deleted_tax_id"
                  }
                ]
              }
            },
            "nullable": true,
            "type": "array"
          },
          "amount_due": {
            "description": "Final amount due at this time for this invoice. If the invoice's total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the `amount_due` may be 0. If there is a positive `starting_balance` for the invoice (the customer owes money), the `amount_due` will also take that into account. The charge that gets generated for the invoice will be for the amount specified in `amount_due`.",
            "type": "integer"
          },
          "amount_paid": {
            "description": "The amount, in %s, that was paid.",
            "type": "integer"
          },
          "amount_remaining": {
            "description": "The amount remaining, in %s, that is due.",
            "type": "integer"
          },
          "application_fee_amount": {
            "description": "The fee in %s that will be applied to the invoice and transferred to the application owner's Stripe account when the invoice is paid.",
            "nullable": true,
            "type": "integer"
          },
          "attempt_count": {
            "description": "Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule.",
            "type": "integer"
          },
          "attempted": {
            "description": "Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the `invoice.created` webhook, for example, so you might not want to display that invoice as unpaid to your users.",
            "type": "boolean"
          },
          "auto_advance": {
            "description": "Controls whether Stripe will perform [automatic collection](https://stripe.com/docs/billing/invoices/workflow/#auto_advance) of the invoice. When `false`, the invoice's state will not automatically advance without an explicit action.",
            "type": "boolean"
          },
          "billing_reason": {
            "description": "Indicates the reason why the invoice was created. `subscription_cycle` indicates an invoice created by a subscription advancing into a new period. `subscription_create` indicates an invoice created due to creating a subscription. `subscription_update` indicates an invoice created due to updating a subscription. `subscription` is set for all old invoices to indicate either a change to a subscription or a period advancement. `manual` is set for all invoices unrelated to a subscription (for example: created via the invoice editor). The `upcoming` value is reserved for simulated invoices per the upcoming invoice endpoint. `subscription_threshold` indicates an invoice created due to a billing threshold being reached.",
            "enum": [
              "automatic_pending_invoice_item_invoice",
              "manual",
              "subscription",
              "subscription_create",
              "subscription_cycle",
              "subscription_threshold",
              "subscription_update",
              "upcoming"
            ],
            "nullable": true,
            "type": "string"
          },
          "charge": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/charge"
              }
            ],
            "description": "ID of the latest charge generated for this invoice, if any.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/charge"
                }
              ]
            }
          },
          "collection_method": {
            "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions.",
            "enum": ["charge_automatically", "send_invoice"],
            "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"
          },
          "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).",
            "type": "string"
          },
          "custom_fields": {
            "description": "Custom fields displayed on the invoice.",
            "items": {
              "$ref": "#/components/schemas/invoice_setting_custom_field"
            },
            "nullable": true,
            "type": "array"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "The ID of the customer who will be billed.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "customer_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "The customer's address. Until the invoice is finalized, this field will equal `customer.address`. Once the invoice is finalized, this field will no longer be updated.",
            "nullable": true
          },
          "customer_email": {
            "description": "The customer's email. Until the invoice is finalized, this field will equal `customer.email`. Once the invoice is finalized, this field will no longer be updated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "customer_name": {
            "description": "The customer's name. Until the invoice is finalized, this field will equal `customer.name`. Once the invoice is finalized, this field will no longer be updated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "customer_phone": {
            "description": "The customer's phone number. Until the invoice is finalized, this field will equal `customer.phone`. Once the invoice is finalized, this field will no longer be updated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "customer_shipping": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/shipping"
              }
            ],
            "description": "The customer's shipping information. Until the invoice is finalized, this field will equal `customer.shipping`. Once the invoice is finalized, this field will no longer be updated.",
            "nullable": true
          },
          "customer_tax_exempt": {
            "description": "The customer's tax exempt status. Until the invoice is finalized, this field will equal `customer.tax_exempt`. Once the invoice is finalized, this field will no longer be updated.",
            "enum": ["exempt", "none", "reverse"],
            "nullable": true,
            "type": "string"
          },
          "customer_tax_ids": {
            "description": "The customer's tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated.",
            "items": {
              "$ref": "#/components/schemas/invoices_resource_invoice_tax_id"
            },
            "nullable": true,
            "type": "array"
          },
          "default_payment_method": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "default_source": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/alipay_account"
              },
              {
                "$ref": "#/components/schemas/bank_account"
              },
              {
                "$ref": "#/components/schemas/bitcoin_receiver"
              },
              {
                "$ref": "#/components/schemas/card"
              },
              {
                "$ref": "#/components/schemas/source"
              }
            ],
            "description": "ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/alipay_account"
                },
                {
                  "$ref": "#/components/schemas/bank_account"
                },
                {
                  "$ref": "#/components/schemas/bitcoin_receiver"
                },
                {
                  "$ref": "#/components/schemas/card"
                },
                {
                  "$ref": "#/components/schemas/source"
                }
              ]
            }
          },
          "default_tax_rates": {
            "description": "The tax rates applied to this invoice, if any.",
            "items": {
              "$ref": "#/components/schemas/tax_rate"
            },
            "type": "array"
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "discount": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/discount"
              }
            ],
            "description": "Describes the current discount applied to this invoice, if there is one. Not populated if there are multiple discounts.",
            "nullable": true
          },
          "discounts": {
            "description": "The discounts applied to the invoice. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount.",
            "items": {
              "anyOf": [
                {
                  "maxLength": 5000,
                  "type": "string"
                },
                {
                  "$ref": "#/components/schemas/discount"
                },
                {
                  "$ref": "#/components/schemas/deleted_discount"
                }
              ],
              "x-expansionResources": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/discount"
                  },
                  {
                    "$ref": "#/components/schemas/deleted_discount"
                  }
                ]
              }
            },
            "nullable": true,
            "type": "array"
          },
          "due_date": {
            "description": "The date on which payment for this invoice is due. This value will be `null` for invoices where `collection_method=charge_automatically`.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "ending_balance": {
            "description": "Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null.",
            "nullable": true,
            "type": "integer"
          },
          "footer": {
            "description": "Footer displayed on the invoice.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "hosted_invoice_url": {
            "description": "The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "invoice_pdf": {
            "description": "The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "last_finalization_error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/api_errors"
              }
            ],
            "description": "The error encountered during the previous attempt to finalize the invoice. This field is cleared when the invoice is successfully finalized.",
            "nullable": true
          },
          "lines": {
            "description": "The individual line items that make up the invoice. `lines` is sorted as follows: invoice items in reverse chronological order, followed by the subscription, if any.",
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "$ref": "#/components/schemas/line_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": "InvoiceLinesList",
            "type": "object",
            "x-expandableFields": ["data"]
          },
          "livemode": {
            "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.",
            "type": "boolean"
          },
          "metadata": {
            "additionalProperties": {
              "maxLength": 500,
              "type": "string"
            },
            "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
            "nullable": true,
            "type": "object"
          },
          "next_payment_attempt": {
            "description": "The time at which payment will next be attempted. This value will be `null` for invoices where `collection_method=send_invoice`.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "number": {
            "description": "A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer's unique invoice_prefix if it is specified.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["invoice"],
            "type": "string"
          },
          "on_behalf_of": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          },
          "paid": {
            "description": "Whether payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer's account balance.",
            "type": "boolean"
          },
          "payment_intent": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_intent"
              }
            ],
            "description": "The PaymentIntent associated with this invoice. The PaymentIntent is generated when the invoice is finalized, and can then be used to pay the invoice. Note that voiding an invoice will cancel the PaymentIntent.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_intent"
                }
              ]
            }
          },
          "payment_settings": {
            "$ref": "#/components/schemas/invoices_payment_settings"
          },
          "period_end": {
            "description": "End of the usage period during which invoice items were added to this invoice.",
            "format": "unix-time",
            "type": "integer"
          },
          "period_start": {
            "description": "Start of the usage period during which invoice items were added to this invoice.",
            "format": "unix-time",
            "type": "integer"
          },
          "post_payment_credit_notes_amount": {
            "description": "Total amount of all post-payment credit notes issued for this invoice.",
            "type": "integer"
          },
          "pre_payment_credit_notes_amount": {
            "description": "Total amount of all pre-payment credit notes issued for this invoice.",
            "type": "integer"
          },
          "receipt_number": {
            "description": "This is the transaction number that appears on email receipts sent for this invoice.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "starting_balance": {
            "description": "Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance.",
            "type": "integer"
          },
          "statement_descriptor": {
            "description": "Extra information about an invoice for the customer's credit card statement.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "status": {
            "description": "The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview)",
            "enum": ["deleted", "draft", "open", "paid", "uncollectible", "void"],
            "nullable": true,
            "type": "string"
          },
          "status_transitions": {
            "$ref": "#/components/schemas/invoices_status_transitions"
          },
          "subscription": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/subscription"
              }
            ],
            "description": "The subscription that this invoice was prepared for, if any.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/subscription"
                }
              ]
            }
          },
          "subscription_proration_date": {
            "description": "Only set for upcoming invoices that preview prorations. The time used to calculate prorations.",
            "type": "integer"
          },
          "subtotal": {
            "description": "Total of all subscriptions, invoice items, and prorations on the invoice before any invoice level discount or tax is applied. Item discounts are already incorporated",
            "type": "integer"
          },
          "tax": {
            "description": "The amount of tax on this invoice. This is the sum of all the tax amounts on this invoice.",
            "nullable": true,
            "type": "integer"
          },
          "threshold_reason": {
            "$ref": "#/components/schemas/invoice_threshold_reason"
          },
          "total": {
            "description": "Total after discounts and taxes.",
            "type": "integer"
          },
          "total_discount_amounts": {
            "description": "The aggregate amounts calculated per discount across all line items.",
            "items": {
              "$ref": "#/components/schemas/discounts_resource_discount_amount"
            },
            "nullable": true,
            "type": "array"
          },
          "total_tax_amounts": {
            "description": "The aggregate amounts calculated per tax rate for all line items.",
            "items": {
              "$ref": "#/components/schemas/invoice_tax_amount"
            },
            "type": "array"
          },
          "transfer_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/invoice_transfer_data"
              }
            ],
            "description": "The account (if any) the payment will be attributed to for tax reporting, and where funds from the payment will be transferred to for the invoice.",
            "nullable": true
          },
          "webhooks_delivered_at": {
            "description": "Invoices are automatically paid or sent 1 hour after webhooks are delivered, or until all webhook delivery attempts have [been exhausted](https://stripe.com/docs/billing/webhooks#understand). This field tracks the time when webhooks for this invoice were successfully delivered. If the invoice had no webhooks to deliver, this will be set while the invoice is being created.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          }
        },
        "required": [
          "amount_due",
          "amount_paid",
          "amount_remaining",
          "attempt_count",
          "attempted",
          "created",
          "currency",
          "default_tax_rates",
          "lines",
          "livemode",
          "object",
          "paid",
          "payment_settings",
          "period_end",
          "period_start",
          "post_payment_credit_notes_amount",
          "pre_payment_credit_notes_amount",
          "starting_balance",
          "status_transitions",
          "subtotal",
          "total",
          "total_tax_amounts"
        ],
        "title": "Invoice",
        "type": "object",
        "x-expandableFields": [
          "account_tax_ids",
          "charge",
          "custom_fields",
          "customer",
          "customer_address",
          "customer_shipping",
          "customer_tax_ids",
          "default_payment_method",
          "default_source",
          "default_tax_rates",
          "discount",
          "discounts",
          "last_finalization_error",
          "lines",
          "on_behalf_of",
          "payment_intent",
          "payment_settings",
          "status_transitions",
          "subscription",
          "threshold_reason",
          "total_discount_amounts",
          "total_tax_amounts",
          "transfer_data"
        ],
        "x-resourceId": "invoice"
      },
      "invoice_item_threshold_reason": {
        "description": "",
        "properties": {
          "line_item_ids": {
            "description": "The IDs of the line items that triggered the threshold invoice.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "usage_gte": {
            "description": "The quantity threshold boundary that applied to the given line item.",
            "type": "integer"
          }
        },
        "required": ["line_item_ids", "usage_gte"],
        "title": "InvoiceItemThresholdReason",
        "type": "object",
        "x-expandableFields": []
      },
      "invoice_line_item_period": {
        "description": "",
        "properties": {
          "end": {
            "description": "End of the line item's billing period",
            "format": "unix-time",
            "type": "integer"
          },
          "start": {
            "description": "Start of the line item's billing period",
            "format": "unix-time",
            "type": "integer"
          }
        },
        "required": ["end", "start"],
        "title": "InvoiceLineItemPeriod",
        "type": "object",
        "x-expandableFields": []
      },
      "invoice_payment_method_options_bancontact": {
        "description": "",
        "properties": {
          "preferred_language": {
            "description": "Preferred language of the Bancontact authorization page that the customer is redirected to.",
            "enum": ["de", "en", "fr", "nl"],
            "type": "string"
          }
        },
        "required": ["preferred_language"],
        "title": "invoice_payment_method_options_bancontact",
        "type": "object",
        "x-expandableFields": []
      },
      "invoice_payment_method_options_card": {
        "description": "",
        "properties": {
          "request_three_d_secure": {
            "description": "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.",
            "enum": ["any", "automatic"],
            "nullable": true,
            "type": "string"
          }
        },
        "title": "invoice_payment_method_options_card",
        "type": "object",
        "x-expandableFields": []
      },
      "invoice_setting_custom_field": {
        "description": "",
        "properties": {
          "name": {
            "description": "The name of the custom field.",
            "maxLength": 5000,
            "type": "string"
          },
          "value": {
            "description": "The value of the custom field.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["name", "value"],
        "title": "InvoiceSettingCustomField",
        "type": "object",
        "x-expandableFields": []
      },
      "invoice_setting_customer_setting": {
        "description": "",
        "properties": {
          "custom_fields": {
            "description": "Default custom fields to be displayed on invoices for this customer.",
            "items": {
              "$ref": "#/components/schemas/invoice_setting_custom_field"
            },
            "nullable": true,
            "type": "array"
          },
          "default_payment_method": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "footer": {
            "description": "Default footer to be displayed on invoices for this customer.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "InvoiceSettingCustomerSetting",
        "type": "object",
        "x-expandableFields": ["custom_fields", "default_payment_method"]
      },
      "invoice_setting_subscription_schedule_setting": {
        "description": "",
        "properties": {
          "days_until_due": {
            "description": "Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be `null` for subscription schedules where `billing=charge_automatically`.",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "InvoiceSettingSubscriptionScheduleSetting",
        "type": "object",
        "x-expandableFields": []
      },
      "invoice_tax_amount": {
        "description": "",
        "properties": {
          "amount": {
            "description": "The amount, in %s, of the tax.",
            "type": "integer"
          },
          "inclusive": {
            "description": "Whether this tax amount is inclusive or exclusive.",
            "type": "boolean"
          },
          "tax_rate": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/tax_rate"
              }
            ],
            "description": "The tax rate that was applied to get this tax amount.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/tax_rate"
                }
              ]
            }
          }
        },
        "required": ["amount", "inclusive", "tax_rate"],
        "title": "InvoiceTaxAmount",
        "type": "object",
        "x-expandableFields": ["tax_rate"]
      },
      "invoice_threshold_reason": {
        "description": "",
        "properties": {
          "amount_gte": {
            "description": "The total invoice amount threshold boundary if it triggered the threshold invoice.",
            "nullable": true,
            "type": "integer"
          },
          "item_reasons": {
            "description": "Indicates which line items triggered a threshold invoice.",
            "items": {
              "$ref": "#/components/schemas/invoice_item_threshold_reason"
            },
            "type": "array"
          }
        },
        "required": ["item_reasons"],
        "title": "InvoiceThresholdReason",
        "type": "object",
        "x-expandableFields": ["item_reasons"]
      },
      "invoice_transfer_data": {
        "description": "",
        "properties": {
          "amount": {
            "description": "The amount in %s that will be transferred to the destination account when the invoice is paid. By default, the entire amount is transferred to the destination.",
            "nullable": true,
            "type": "integer"
          },
          "destination": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "The account where funds from the payment will be transferred to upon payment success.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          }
        },
        "required": ["destination"],
        "title": "InvoiceTransferData",
        "type": "object",
        "x-expandableFields": ["destination"]
      },
      "invoiceitem": {
        "description": "Sometimes you want to add a charge or credit to a customer, but actually\ncharge or credit the customer's card only at the end of a regular billing\ncycle. This is useful for combining several charges (to minimize\nper-transaction fees), or for having Stripe tabulate your usage-based billing\ntotals.\n\nRelated guide: [Subscription Invoices](https://stripe.com/docs/billing/invoices/subscription#adding-upcoming-invoice-items).",
        "properties": {
          "amount": {
            "description": "Amount (in the `currency` specified) of the invoice item. This should always be equal to `unit_amount * quantity`.",
            "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).",
            "type": "string"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "The ID of the customer who will be billed when this invoice item is billed.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "date": {
            "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 object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "discountable": {
            "description": "If true, discounts will apply to this invoice item. Always false for prorations.",
            "type": "boolean"
          },
          "discounts": {
            "description": "The discounts which apply to the invoice item. Item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount.",
            "items": {
              "anyOf": [
                {
                  "maxLength": 5000,
                  "type": "string"
                },
                {
                  "$ref": "#/components/schemas/discount"
                }
              ],
              "x-expansionResources": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/discount"
                  }
                ]
              }
            },
            "nullable": true,
            "type": "array"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "invoice": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/invoice"
              }
            ],
            "description": "The ID of the invoice this invoice item belongs to.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/invoice"
                }
              ]
            }
          },
          "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.",
            "nullable": true,
            "type": "object"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["invoiceitem"],
            "type": "string"
          },
          "period": {
            "$ref": "#/components/schemas/invoice_line_item_period"
          },
          "price": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/price"
              }
            ],
            "description": "The price of the invoice item.",
            "nullable": true
          },
          "proration": {
            "description": "Whether the invoice item was created automatically as a proration adjustment when the customer switched plans.",
            "type": "boolean"
          },
          "quantity": {
            "description": "Quantity of units for the invoice item. If the invoice item is a proration, the quantity of the subscription that the proration was computed for.",
            "type": "integer"
          },
          "subscription": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/subscription"
              }
            ],
            "description": "The subscription that this invoice item has been created for, if any.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/subscription"
                }
              ]
            }
          },
          "subscription_item": {
            "description": "The subscription item that this invoice item has been created for, if any.",
            "maxLength": 5000,
            "type": "string"
          },
          "tax_rates": {
            "description": "The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item.",
            "items": {
              "$ref": "#/components/schemas/tax_rate"
            },
            "nullable": true,
            "type": "array"
          },
          "unit_amount": {
            "description": "Unit amount (in the `currency` specified) of the invoice item.",
            "nullable": true,
            "type": "integer"
          },
          "unit_amount_decimal": {
            "description": "Same as `unit_amount`, but contains a decimal value with at most 12 decimal places.",
            "format": "decimal",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "amount",
          "currency",
          "customer",
          "date",
          "discountable",
          "id",
          "livemode",
          "object",
          "period",
          "proration",
          "quantity"
        ],
        "title": "InvoiceItem",
        "type": "object",
        "x-expandableFields": ["customer", "discounts", "invoice", "period", "price", "subscription", "tax_rates"],
        "x-resourceId": "invoiceitem"
      },
      "invoices_payment_method_options": {
        "description": "",
        "properties": {
          "bancontact": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/invoice_payment_method_options_bancontact"
              }
            ],
            "description": "If paying by `bancontact`, this sub-hash contains details about the Bancontact payment method options to pass to the invoice’s PaymentIntent.",
            "nullable": true
          },
          "card": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/invoice_payment_method_options_card"
              }
            ],
            "description": "If paying by `card`, this sub-hash contains details about the Card payment method options to pass to the invoice’s PaymentIntent.",
            "nullable": true
          }
        },
        "title": "InvoicesPaymentMethodOptions",
        "type": "object",
        "x-expandableFields": ["bancontact", "card"]
      },
      "invoices_payment_settings": {
        "description": "",
        "properties": {
          "payment_method_options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/invoices_payment_method_options"
              }
            ],
            "description": "Payment-method-specific configuration to provide to the invoice’s PaymentIntent.",
            "nullable": true
          },
          "payment_method_types": {
            "description": "The list of payment method types (e.g. card) to provide to the invoice’s PaymentIntent. If not set, Stripe attempts to automatically determine the types to use by looking at the invoice’s default payment method, the subscription’s default payment method, the customer’s default payment method, and your [invoice template settings](https://dashboard.stripe.com/settings/billing/invoice).",
            "items": {
              "enum": [
                "ach_credit_transfer",
                "ach_debit",
                "au_becs_debit",
                "bacs_debit",
                "bancontact",
                "card",
                "fpx",
                "giropay",
                "ideal",
                "sepa_debit",
                "sofort"
              ],
              "type": "string",
              "x-stripeBypassValidation": true
            },
            "nullable": true,
            "type": "array"
          }
        },
        "title": "InvoicesPaymentSettings",
        "type": "object",
        "x-expandableFields": ["payment_method_options"]
      },
      "invoices_resource_invoice_tax_id": {
        "description": "",
        "properties": {
          "type": {
            "description": "The type of the tax ID, one of `eu_vat`, `br_cnpj`, `br_cpf`, `gb_vat`, `nz_gst`, `au_abn`, `in_gst`, `no_vat`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `li_uid`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, or `unknown`",
            "enum": [
              "ae_trn",
              "au_abn",
              "br_cnpj",
              "br_cpf",
              "ca_bn",
              "ca_qst",
              "ch_vat",
              "cl_tin",
              "es_cif",
              "eu_vat",
              "gb_vat",
              "hk_br",
              "id_npwp",
              "in_gst",
              "jp_cn",
              "jp_rn",
              "kr_brn",
              "li_uid",
              "mx_rfc",
              "my_frp",
              "my_itn",
              "my_sst",
              "no_vat",
              "nz_gst",
              "ru_inn",
              "ru_kpp",
              "sa_vat",
              "sg_gst",
              "sg_uen",
              "th_vat",
              "tw_vat",
              "unknown",
              "us_ein",
              "za_vat"
            ],
            "type": "string"
          },
          "value": {
            "description": "The value of the tax ID.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["type"],
        "title": "InvoicesResourceInvoiceTaxID",
        "type": "object",
        "x-expandableFields": []
      },
      "invoices_status_transitions": {
        "description": "",
        "properties": {
          "finalized_at": {
            "description": "The time that the invoice draft was finalized.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "marked_uncollectible_at": {
            "description": "The time that the invoice was marked uncollectible.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "paid_at": {
            "description": "The time that the invoice was paid.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "voided_at": {
            "description": "The time that the invoice was voided.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "InvoicesStatusTransitions",
        "type": "object",
        "x-expandableFields": []
      },
      "issuer_fraud_record": {
        "description": "This resource has been renamed to [Early Fraud\nWarning](#early_fraud_warning_object) and will be removed in a future API\nversion.",
        "properties": {
          "actionable": {
            "description": "An IFR is actionable if it has not received a dispute and has not been fully refunded. You may wish to proactively refund a charge that receives an IFR, in order to avoid receiving a dispute later.",
            "type": "boolean"
          },
          "charge": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/charge"
              }
            ],
            "description": "ID of the charge this issuer fraud record is for, optionally expanded.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/charge"
                }
              ]
            }
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "fraud_type": {
            "description": "The type of fraud labelled by the issuer. One of `card_never_received`, `fraudulent_card_application`, `made_with_counterfeit_card`, `made_with_lost_card`, `made_with_stolen_card`, `misc`, `unauthorized_use_of_card`.",
            "maxLength": 5000,
            "type": "string"
          },
          "has_liability_shift": {
            "description": "If true, the associated charge is subject to [liability shift](https://stripe.com/docs/payments/3d-secure#disputed-payments).",
            "type": "boolean"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["issuer_fraud_record"],
            "type": "string"
          },
          "post_date": {
            "description": "The timestamp at which the card issuer posted the issuer fraud record.",
            "type": "integer"
          }
        },
        "required": [
          "actionable",
          "charge",
          "created",
          "fraud_type",
          "has_liability_shift",
          "id",
          "livemode",
          "object",
          "post_date"
        ],
        "title": "IssuerFraudRecord",
        "type": "object",
        "x-expandableFields": ["charge"],
        "x-resourceId": "issuer_fraud_record"
      },
      "issuing.authorization": {
        "description": "When an [issued card](https://stripe.com/docs/issuing) is used to make a purchase, an Issuing `Authorization`\nobject is created. [Authorizations](https://stripe.com/docs/issuing/purchases/authorizations) must be approved for the\npurchase to be completed successfully.\n\nRelated guide: [Issued Card Authorizations](https://stripe.com/docs/issuing/purchases/authorizations).",
        "properties": {
          "amount": {
            "description": "The total amount that was authorized or rejected. This amount is in the card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
            "type": "integer"
          },
          "amount_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_authorization_amount_details"
              }
            ],
            "description": "Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
            "nullable": true
          },
          "approved": {
            "description": "Whether the authorization has been approved.",
            "type": "boolean"
          },
          "authorization_method": {
            "description": "How the card details were provided.",
            "enum": ["chip", "contactless", "keyed_in", "online", "swipe"],
            "type": "string"
          },
          "balance_transactions": {
            "description": "List of balance transactions associated with this authorization.",
            "items": {
              "$ref": "#/components/schemas/balance_transaction"
            },
            "type": "array"
          },
          "card": {
            "$ref": "#/components/schemas/issuing.card"
          },
          "cardholder": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/issuing.cardholder"
              }
            ],
            "description": "The cardholder to whom this authorization belongs.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/issuing.cardholder"
                }
              ]
            }
          },
          "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).",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "merchant_amount": {
            "description": "The total amount that was authorized or rejected. This amount is in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
            "type": "integer"
          },
          "merchant_currency": {
            "description": "The currency that was presented to the cardholder for the authorization. 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).",
            "type": "string"
          },
          "merchant_data": {
            "$ref": "#/components/schemas/issuing_authorization_merchant_data"
          },
          "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["issuing.authorization"],
            "type": "string"
          },
          "pending_request": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_authorization_pending_request"
              }
            ],
            "description": "The pending authorization request. This field will only be non-null during an `issuing_authorization.request` webhook.",
            "nullable": true
          },
          "request_history": {
            "description": "History of every time `pending_request` was approved/denied, either by you directly or by Stripe (e.g. based on your `spending_controls`). If the merchant changes the authorization by performing an [incremental authorization](https://stripe.com/docs/issuing/purchases/authorizations), you can look at this field to see the previous requests for the authorization.",
            "items": {
              "$ref": "#/components/schemas/issuing_authorization_request"
            },
            "type": "array"
          },
          "status": {
            "description": "The current status of the authorization in its lifecycle.",
            "enum": ["closed", "pending", "reversed"],
            "type": "string"
          },
          "transactions": {
            "description": "List of [transactions](https://stripe.com/docs/api/issuing/transactions) associated with this authorization.",
            "items": {
              "$ref": "#/components/schemas/issuing.transaction"
            },
            "type": "array"
          },
          "verification_data": {
            "$ref": "#/components/schemas/issuing_authorization_verification_data"
          },
          "wallet": {
            "description": "What, if any, digital wallet was used for this authorization. One of `apple_pay`, `google_pay`, or `samsung_pay`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "amount",
          "approved",
          "authorization_method",
          "balance_transactions",
          "card",
          "created",
          "currency",
          "id",
          "livemode",
          "merchant_amount",
          "merchant_currency",
          "merchant_data",
          "metadata",
          "object",
          "request_history",
          "status",
          "transactions",
          "verification_data"
        ],
        "title": "IssuingAuthorization",
        "type": "object",
        "x-expandableFields": [
          "amount_details",
          "balance_transactions",
          "card",
          "cardholder",
          "merchant_data",
          "pending_request",
          "request_history",
          "transactions",
          "verification_data"
        ],
        "x-resourceId": "issuing.authorization"
      },
      "issuing.card": {
        "description": "You can [create physical or virtual cards](https://stripe.com/docs/issuing/cards) that are issued to cardholders.",
        "properties": {
          "brand": {
            "description": "The brand of the card.",
            "maxLength": 5000,
            "type": "string"
          },
          "cancellation_reason": {
            "description": "The reason why the card was canceled.",
            "enum": ["lost", "stolen"],
            "nullable": true,
            "type": "string"
          },
          "cardholder": {
            "$ref": "#/components/schemas/issuing.cardholder"
          },
          "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).",
            "type": "string"
          },
          "cvc": {
            "description": "The card's CVC. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the [\"Retrieve a card\" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via \"List all cards\" or any other endpoint.",
            "maxLength": 5000,
            "type": "string"
          },
          "exp_month": {
            "description": "The expiration month of the card.",
            "type": "integer"
          },
          "exp_year": {
            "description": "The expiration year of the card.",
            "type": "integer"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "last4": {
            "description": "The last 4 digits of the card number.",
            "maxLength": 5000,
            "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://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
            "type": "object"
          },
          "number": {
            "description": "The full unredacted card number. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the `expand` parameter](https://stripe.com/docs/api/expanding_objects). Additionally, it's only available via the [\"Retrieve a card\" endpoint](https://stripe.com/docs/api/issuing/cards/retrieve), not via \"List all cards\" or any other endpoint.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["issuing.card"],
            "type": "string"
          },
          "replaced_by": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/issuing.card"
              }
            ],
            "description": "The latest card that replaces this card, if any.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/issuing.card"
                }
              ]
            }
          },
          "replacement_for": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/issuing.card"
              }
            ],
            "description": "The card this card replaces, if any.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/issuing.card"
                }
              ]
            }
          },
          "replacement_reason": {
            "description": "The reason why the previous card needed to be replaced.",
            "enum": ["damaged", "expired", "lost", "stolen"],
            "nullable": true,
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "shipping": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_card_shipping"
              }
            ],
            "description": "Where and how the card will be shipped.",
            "nullable": true
          },
          "spending_controls": {
            "$ref": "#/components/schemas/issuing_card_authorization_controls"
          },
          "status": {
            "description": "Whether authorizations can be approved on this card.",
            "enum": ["active", "canceled", "inactive"],
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "type": {
            "description": "The type of the card.",
            "enum": ["physical", "virtual"],
            "type": "string"
          }
        },
        "required": [
          "brand",
          "cardholder",
          "created",
          "currency",
          "exp_month",
          "exp_year",
          "id",
          "last4",
          "livemode",
          "metadata",
          "object",
          "spending_controls",
          "status",
          "type"
        ],
        "title": "IssuingCard",
        "type": "object",
        "x-expandableFields": ["cardholder", "replaced_by", "replacement_for", "shipping", "spending_controls"],
        "x-resourceId": "issuing.card"
      },
      "issuing.cardholder": {
        "description": "An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://stripe.com/docs/issuing) cards.\n\nRelated guide: [How to create a Cardholder](https://stripe.com/docs/issuing/cards#create-cardholder)",
        "properties": {
          "billing": {
            "$ref": "#/components/schemas/issuing_cardholder_address"
          },
          "company": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_cardholder_company"
              }
            ],
            "description": "Additional information about a `company` cardholder.",
            "nullable": true
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "email": {
            "description": "The cardholder's email address.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "individual": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_cardholder_individual"
              }
            ],
            "description": "Additional information about an `individual` cardholder.",
            "nullable": true
          },
          "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 cardholder's name. This will be printed on cards issued to them.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["issuing.cardholder"],
            "type": "string"
          },
          "phone_number": {
            "description": "The cardholder's phone number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "requirements": {
            "$ref": "#/components/schemas/issuing_cardholder_requirements"
          },
          "spending_controls": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_cardholder_authorization_controls"
              }
            ],
            "description": "Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details.",
            "nullable": true
          },
          "status": {
            "description": "Specifies whether to permit authorizations on this cardholder's cards.",
            "enum": ["active", "blocked", "inactive"],
            "type": "string"
          },
          "type": {
            "description": "One of `individual` or `company`.",
            "enum": ["company", "individual"],
            "type": "string",
            "x-stripeBypassValidation": true
          }
        },
        "required": [
          "billing",
          "created",
          "id",
          "livemode",
          "metadata",
          "name",
          "object",
          "requirements",
          "status",
          "type"
        ],
        "title": "IssuingCardholder",
        "type": "object",
        "x-expandableFields": ["billing", "company", "individual", "requirements", "spending_controls"],
        "x-resourceId": "issuing.cardholder"
      },
      "issuing.dispute": {
        "description": "As a [card issuer](https://stripe.com/docs/issuing), you can dispute transactions that the cardholder does not recognize, suspects to be fraudulent, or has other issues with.\n\nRelated guide: [Disputing Transactions](https://stripe.com/docs/issuing/purchases/disputes)",
        "properties": {
          "amount": {
            "description": "Disputed amount. Usually the amount of the `transaction`, but can differ (usually because of currency fluctuation).",
            "type": "integer"
          },
          "balance_transactions": {
            "description": "List of balance transactions associated with the dispute.",
            "items": {
              "$ref": "#/components/schemas/balance_transaction"
            },
            "nullable": true,
            "type": "array"
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "currency": {
            "description": "The currency the `transaction` was made in.",
            "type": "string"
          },
          "evidence": {
            "$ref": "#/components/schemas/issuing_dispute_evidence"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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://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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["issuing.dispute"],
            "type": "string"
          },
          "status": {
            "description": "Current status of the dispute.",
            "enum": ["expired", "lost", "submitted", "unsubmitted", "won"],
            "type": "string"
          },
          "transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/issuing.transaction"
              }
            ],
            "description": "The transaction being disputed.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/issuing.transaction"
                }
              ]
            }
          }
        },
        "required": [
          "amount",
          "created",
          "currency",
          "evidence",
          "id",
          "livemode",
          "metadata",
          "object",
          "status",
          "transaction"
        ],
        "title": "IssuingDispute",
        "type": "object",
        "x-expandableFields": ["balance_transactions", "evidence", "transaction"],
        "x-resourceId": "issuing.dispute"
      },
      "issuing.settlement": {
        "description": "When a non-stripe BIN is used, any use of an [issued card](https://stripe.com/docs/issuing) must be settled directly with the card network. The net amount owed is represented by an Issuing `Settlement` object.",
        "properties": {
          "bin": {
            "description": "The Bank Identification Number reflecting this settlement record.",
            "maxLength": 5000,
            "type": "string"
          },
          "clearing_date": {
            "description": "The date that the transactions are cleared and posted to user's accounts.",
            "type": "integer"
          },
          "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).",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "interchange_fees": {
            "description": "The total interchange received as reimbursement for the transactions.",
            "type": "integer"
          },
          "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"
          },
          "net_total": {
            "description": "The total net amount required to settle with the network.",
            "type": "integer"
          },
          "network": {
            "description": "The card network for this settlement report. One of [\"visa\"]",
            "enum": ["visa"],
            "type": "string"
          },
          "network_fees": {
            "description": "The total amount of fees owed to the network.",
            "type": "integer"
          },
          "network_settlement_identifier": {
            "description": "The Settlement Identification Number assigned by the network.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["issuing.settlement"],
            "type": "string"
          },
          "settlement_service": {
            "description": "One of `international` or `uk_national_net`.",
            "maxLength": 5000,
            "type": "string"
          },
          "transaction_count": {
            "description": "The total number of transactions reflected in this settlement.",
            "type": "integer"
          },
          "transaction_volume": {
            "description": "The total transaction amount reflected in this settlement.",
            "type": "integer"
          }
        },
        "required": [
          "bin",
          "clearing_date",
          "created",
          "currency",
          "id",
          "interchange_fees",
          "livemode",
          "metadata",
          "net_total",
          "network",
          "network_fees",
          "network_settlement_identifier",
          "object",
          "settlement_service",
          "transaction_count",
          "transaction_volume"
        ],
        "title": "IssuingSettlement",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "issuing.settlement"
      },
      "issuing.transaction": {
        "description": "Any use of an [issued card](https://stripe.com/docs/issuing) that results in funds entering or leaving\nyour Stripe account, such as a completed purchase or refund, is represented by an Issuing\n`Transaction` object.\n\nRelated guide: [Issued Card Transactions](https://stripe.com/docs/issuing/purchases/transactions).",
        "properties": {
          "amount": {
            "description": "The transaction amount, which will be reflected in your balance. This amount is in your currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
            "type": "integer"
          },
          "amount_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_transaction_amount_details"
              }
            ],
            "description": "Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
            "nullable": true
          },
          "authorization": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/issuing.authorization"
              }
            ],
            "description": "The `Authorization` object that led to this transaction.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/issuing.authorization"
                }
              ]
            }
          },
          "balance_transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/balance_transaction"
              }
            ],
            "description": "ID of the [balance transaction](https://stripe.com/docs/api/balance_transactions) associated with this transaction.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/balance_transaction"
                }
              ]
            }
          },
          "card": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/issuing.card"
              }
            ],
            "description": "The card used to make this transaction.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/issuing.card"
                }
              ]
            }
          },
          "cardholder": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/issuing.cardholder"
              }
            ],
            "description": "The cardholder to whom this transaction belongs.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/issuing.cardholder"
                }
              ]
            }
          },
          "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).",
            "type": "string"
          },
          "dispute": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/issuing.dispute"
              }
            ],
            "description": "If you've disputed the transaction, the ID of the dispute.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/issuing.dispute"
                }
              ]
            }
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "merchant_amount": {
            "description": "The amount that the merchant will receive, denominated in `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). It will be different from `amount` if the merchant is taking payment in a different currency.",
            "type": "integer"
          },
          "merchant_currency": {
            "description": "The currency with which the merchant is taking payment.",
            "type": "string"
          },
          "merchant_data": {
            "$ref": "#/components/schemas/issuing_authorization_merchant_data"
          },
          "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["issuing.transaction"],
            "type": "string"
          },
          "purchase_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_transaction_purchase_details"
              }
            ],
            "description": "Additional purchase information that is optionally provided by the merchant.",
            "nullable": true
          },
          "type": {
            "description": "The nature of the transaction.",
            "enum": ["capture", "refund"],
            "type": "string",
            "x-stripeBypassValidation": true
          }
        },
        "required": [
          "amount",
          "card",
          "created",
          "currency",
          "id",
          "livemode",
          "merchant_amount",
          "merchant_currency",
          "merchant_data",
          "metadata",
          "object",
          "type"
        ],
        "title": "IssuingTransaction",
        "type": "object",
        "x-expandableFields": [
          "amount_details",
          "authorization",
          "balance_transaction",
          "card",
          "cardholder",
          "dispute",
          "merchant_data",
          "purchase_details"
        ],
        "x-resourceId": "issuing.transaction"
      },
      "issuing_authorization_amount_details": {
        "description": "",
        "properties": {
          "atm_fee": {
            "description": "The fee charged by the ATM for the cash withdrawal.",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "IssuingAuthorizationAmountDetails",
        "type": "object",
        "x-expandableFields": []
      },
      "issuing_authorization_merchant_data": {
        "description": "",
        "properties": {
          "category": {
            "description": "A categorization of the seller's type of business. See our [merchant categories guide](https://stripe.com/docs/issuing/merchant-categories) for a list of possible values.",
            "maxLength": 5000,
            "type": "string"
          },
          "city": {
            "description": "City where the seller is located",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "country": {
            "description": "Country where the seller is located",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Name of the seller",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "network_id": {
            "description": "Identifier assigned to the seller by the card brand",
            "maxLength": 5000,
            "type": "string"
          },
          "postal_code": {
            "description": "Postal code where the seller is located",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "state": {
            "description": "State where the seller is located",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["category", "network_id"],
        "title": "IssuingAuthorizationMerchantData",
        "type": "object",
        "x-expandableFields": []
      },
      "issuing_authorization_pending_request": {
        "description": "",
        "properties": {
          "amount": {
            "description": "The additional amount Stripe will hold if the authorization is approved, in the card's [currency](https://stripe.com/docs/api#issuing_authorization_object-pending-request-currency) and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
            "type": "integer"
          },
          "amount_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_authorization_amount_details"
              }
            ],
            "description": "Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
            "nullable": true
          },
          "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).",
            "type": "string"
          },
          "is_amount_controllable": {
            "description": "If set `true`, you may provide [amount](https://stripe.com/docs/api/issuing/authorizations/approve#approve_issuing_authorization-amount) to control how much to hold for the authorization.",
            "type": "boolean"
          },
          "merchant_amount": {
            "description": "The amount the merchant is requesting to be authorized in the `merchant_currency`. The amount is in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
            "type": "integer"
          },
          "merchant_currency": {
            "description": "The local currency the merchant is requesting to authorize.",
            "type": "string"
          }
        },
        "required": ["amount", "currency", "is_amount_controllable", "merchant_amount", "merchant_currency"],
        "title": "IssuingAuthorizationPendingRequest",
        "type": "object",
        "x-expandableFields": ["amount_details"]
      },
      "issuing_authorization_request": {
        "description": "",
        "properties": {
          "amount": {
            "description": "The `pending_request.amount` at the time of the request, presented in your card's currency and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal). Stripe held this amount from your account to fund the authorization if the request was approved.",
            "type": "integer"
          },
          "amount_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_authorization_amount_details"
              }
            ],
            "description": "Detailed breakdown of amount components. These amounts are denominated in `currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
            "nullable": true
          },
          "approved": {
            "description": "Whether this request was approved.",
            "type": "boolean"
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "currency": {
            "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
            "maxLength": 5000,
            "type": "string"
          },
          "merchant_amount": {
            "description": "The `pending_request.merchant_amount` at the time of the request, presented in the `merchant_currency` and in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).",
            "type": "integer"
          },
          "merchant_currency": {
            "description": "The currency that was collected by the merchant and presented to the cardholder for the authorization. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
            "maxLength": 5000,
            "type": "string"
          },
          "reason": {
            "description": "The reason for the approval or decline.",
            "enum": [
              "account_disabled",
              "card_active",
              "card_inactive",
              "cardholder_inactive",
              "cardholder_verification_required",
              "insufficient_funds",
              "not_allowed",
              "spending_controls",
              "suspected_fraud",
              "verification_failed",
              "webhook_approved",
              "webhook_declined",
              "webhook_timeout"
            ],
            "type": "string",
            "x-stripeBypassValidation": true
          }
        },
        "required": ["amount", "approved", "created", "currency", "merchant_amount", "merchant_currency", "reason"],
        "title": "IssuingAuthorizationRequest",
        "type": "object",
        "x-expandableFields": ["amount_details"]
      },
      "issuing_authorization_verification_data": {
        "description": "",
        "properties": {
          "address_line1_check": {
            "description": "Whether the cardholder provided an address first line and if it matched the cardholder’s `billing.address.line1`.",
            "enum": ["match", "mismatch", "not_provided"],
            "type": "string"
          },
          "address_postal_code_check": {
            "description": "Whether the cardholder provided a postal code and if it matched the cardholder’s `billing.address.postal_code`.",
            "enum": ["match", "mismatch", "not_provided"],
            "type": "string"
          },
          "cvc_check": {
            "description": "Whether the cardholder provided a CVC and if it matched Stripe’s record.",
            "enum": ["match", "mismatch", "not_provided"],
            "type": "string"
          },
          "expiry_check": {
            "description": "Whether the cardholder provided an expiry date and if it matched Stripe’s record.",
            "enum": ["match", "mismatch", "not_provided"],
            "type": "string"
          }
        },
        "required": ["address_line1_check", "address_postal_code_check", "cvc_check", "expiry_check"],
        "title": "IssuingAuthorizationVerificationData",
        "type": "object",
        "x-expandableFields": []
      },
      "issuing_card_authorization_controls": {
        "description": "",
        "properties": {
          "allowed_categories": {
            "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`.",
            "items": {
              "enum": [
                "ac_refrigeration_repair",
                "accounting_bookkeeping_services",
                "advertising_services",
                "agricultural_cooperative",
                "airlines_air_carriers",
                "airports_flying_fields",
                "ambulance_services",
                "amusement_parks_carnivals",
                "antique_reproductions",
                "antique_shops",
                "aquariums",
                "architectural_surveying_services",
                "art_dealers_and_galleries",
                "artists_supply_and_craft_shops",
                "auto_and_home_supply_stores",
                "auto_body_repair_shops",
                "auto_paint_shops",
                "auto_service_shops",
                "automated_cash_disburse",
                "automated_fuel_dispensers",
                "automobile_associations",
                "automotive_parts_and_accessories_stores",
                "automotive_tire_stores",
                "bail_and_bond_payments",
                "bakeries",
                "bands_orchestras",
                "barber_and_beauty_shops",
                "betting_casino_gambling",
                "bicycle_shops",
                "billiard_pool_establishments",
                "boat_dealers",
                "boat_rentals_and_leases",
                "book_stores",
                "books_periodicals_and_newspapers",
                "bowling_alleys",
                "bus_lines",
                "business_secretarial_schools",
                "buying_shopping_services",
                "cable_satellite_and_other_pay_television_and_radio",
                "camera_and_photographic_supply_stores",
                "candy_nut_and_confectionery_stores",
                "car_and_truck_dealers_new_used",
                "car_and_truck_dealers_used_only",
                "car_rental_agencies",
                "car_washes",
                "carpentry_services",
                "carpet_upholstery_cleaning",
                "caterers",
                "charitable_and_social_service_organizations_fundraising",
                "chemicals_and_allied_products",
                "child_care_services",
                "childrens_and_infants_wear_stores",
                "chiropodists_podiatrists",
                "chiropractors",
                "cigar_stores_and_stands",
                "civic_social_fraternal_associations",
                "cleaning_and_maintenance",
                "clothing_rental",
                "colleges_universities",
                "commercial_equipment",
                "commercial_footwear",
                "commercial_photography_art_and_graphics",
                "commuter_transport_and_ferries",
                "computer_network_services",
                "computer_programming",
                "computer_repair",
                "computer_software_stores",
                "computers_peripherals_and_software",
                "concrete_work_services",
                "construction_materials",
                "consulting_public_relations",
                "correspondence_schools",
                "cosmetic_stores",
                "counseling_services",
                "country_clubs",
                "courier_services",
                "court_costs",
                "credit_reporting_agencies",
                "cruise_lines",
                "dairy_products_stores",
                "dance_hall_studios_schools",
                "dating_escort_services",
                "dentists_orthodontists",
                "department_stores",
                "detective_agencies",
                "digital_goods_applications",
                "digital_goods_games",
                "digital_goods_large_volume",
                "digital_goods_media",
                "direct_marketing_catalog_merchant",
                "direct_marketing_combination_catalog_and_retail_merchant",
                "direct_marketing_inbound_telemarketing",
                "direct_marketing_insurance_services",
                "direct_marketing_other",
                "direct_marketing_outbound_telemarketing",
                "direct_marketing_subscription",
                "direct_marketing_travel",
                "discount_stores",
                "doctors",
                "door_to_door_sales",
                "drapery_window_covering_and_upholstery_stores",
                "drinking_places",
                "drug_stores_and_pharmacies",
                "drugs_drug_proprietaries_and_druggist_sundries",
                "dry_cleaners",
                "durable_goods",
                "duty_free_stores",
                "eating_places_restaurants",
                "educational_services",
                "electric_razor_stores",
                "electrical_parts_and_equipment",
                "electrical_services",
                "electronics_repair_shops",
                "electronics_stores",
                "elementary_secondary_schools",
                "employment_temp_agencies",
                "equipment_rental",
                "exterminating_services",
                "family_clothing_stores",
                "fast_food_restaurants",
                "financial_institutions",
                "fines_government_administrative_entities",
                "fireplace_fireplace_screens_and_accessories_stores",
                "floor_covering_stores",
                "florists",
                "florists_supplies_nursery_stock_and_flowers",
                "freezer_and_locker_meat_provisioners",
                "fuel_dealers_non_automotive",
                "funeral_services_crematories",
                "furniture_home_furnishings_and_equipment_stores_except_appliances",
                "furniture_repair_refinishing",
                "furriers_and_fur_shops",
                "general_services",
                "gift_card_novelty_and_souvenir_shops",
                "glass_paint_and_wallpaper_stores",
                "glassware_crystal_stores",
                "golf_courses_public",
                "government_services",
                "grocery_stores_supermarkets",
                "hardware_equipment_and_supplies",
                "hardware_stores",
                "health_and_beauty_spas",
                "hearing_aids_sales_and_supplies",
                "heating_plumbing_a_c",
                "hobby_toy_and_game_shops",
                "home_supply_warehouse_stores",
                "hospitals",
                "hotels_motels_and_resorts",
                "household_appliance_stores",
                "industrial_supplies",
                "information_retrieval_services",
                "insurance_default",
                "insurance_underwriting_premiums",
                "intra_company_purchases",
                "jewelry_stores_watches_clocks_and_silverware_stores",
                "landscaping_services",
                "laundries",
                "laundry_cleaning_services",
                "legal_services_attorneys",
                "luggage_and_leather_goods_stores",
                "lumber_building_materials_stores",
                "manual_cash_disburse",
                "marinas_service_and_supplies",
                "masonry_stonework_and_plaster",
                "massage_parlors",
                "medical_and_dental_labs",
                "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                "medical_services",
                "membership_organizations",
                "mens_and_boys_clothing_and_accessories_stores",
                "mens_womens_clothing_stores",
                "metal_service_centers",
                "miscellaneous",
                "miscellaneous_apparel_and_accessory_shops",
                "miscellaneous_auto_dealers",
                "miscellaneous_business_services",
                "miscellaneous_food_stores",
                "miscellaneous_general_merchandise",
                "miscellaneous_general_services",
                "miscellaneous_home_furnishing_specialty_stores",
                "miscellaneous_publishing_and_printing",
                "miscellaneous_recreation_services",
                "miscellaneous_repair_shops",
                "miscellaneous_specialty_retail",
                "mobile_home_dealers",
                "motion_picture_theaters",
                "motor_freight_carriers_and_trucking",
                "motor_homes_dealers",
                "motor_vehicle_supplies_and_new_parts",
                "motorcycle_shops_and_dealers",
                "motorcycle_shops_dealers",
                "music_stores_musical_instruments_pianos_and_sheet_music",
                "news_dealers_and_newsstands",
                "non_fi_money_orders",
                "non_fi_stored_value_card_purchase_load",
                "nondurable_goods",
                "nurseries_lawn_and_garden_supply_stores",
                "nursing_personal_care",
                "office_and_commercial_furniture",
                "opticians_eyeglasses",
                "optometrists_ophthalmologist",
                "orthopedic_goods_prosthetic_devices",
                "osteopaths",
                "package_stores_beer_wine_and_liquor",
                "paints_varnishes_and_supplies",
                "parking_lots_garages",
                "passenger_railways",
                "pawn_shops",
                "pet_shops_pet_food_and_supplies",
                "petroleum_and_petroleum_products",
                "photo_developing",
                "photographic_photocopy_microfilm_equipment_and_supplies",
                "photographic_studios",
                "picture_video_production",
                "piece_goods_notions_and_other_dry_goods",
                "plumbing_heating_equipment_and_supplies",
                "political_organizations",
                "postal_services_government_only",
                "precious_stones_and_metals_watches_and_jewelry",
                "professional_services",
                "public_warehousing_and_storage",
                "quick_copy_repro_and_blueprint",
                "railroads",
                "real_estate_agents_and_managers_rentals",
                "record_stores",
                "recreational_vehicle_rentals",
                "religious_goods_stores",
                "religious_organizations",
                "roofing_siding_sheet_metal",
                "secretarial_support_services",
                "security_brokers_dealers",
                "service_stations",
                "sewing_needlework_fabric_and_piece_goods_stores",
                "shoe_repair_hat_cleaning",
                "shoe_stores",
                "small_appliance_repair",
                "snowmobile_dealers",
                "special_trade_services",
                "specialty_cleaning",
                "sporting_goods_stores",
                "sporting_recreation_camps",
                "sports_and_riding_apparel_stores",
                "sports_clubs_fields",
                "stamp_and_coin_stores",
                "stationary_office_supplies_printing_and_writing_paper",
                "stationery_stores_office_and_school_supply_stores",
                "swimming_pools_sales",
                "t_ui_travel_germany",
                "tailors_alterations",
                "tax_payments_government_agencies",
                "tax_preparation_services",
                "taxicabs_limousines",
                "telecommunication_equipment_and_telephone_sales",
                "telecommunication_services",
                "telegraph_services",
                "tent_and_awning_shops",
                "testing_laboratories",
                "theatrical_ticket_agencies",
                "timeshares",
                "tire_retreading_and_repair",
                "tolls_bridge_fees",
                "tourist_attractions_and_exhibits",
                "towing_services",
                "trailer_parks_campgrounds",
                "transportation_services",
                "travel_agencies_tour_operators",
                "truck_stop_iteration",
                "truck_utility_trailer_rentals",
                "typesetting_plate_making_and_related_services",
                "typewriter_stores",
                "u_s_federal_government_agencies_or_departments",
                "uniforms_commercial_clothing",
                "used_merchandise_and_secondhand_stores",
                "utilities",
                "variety_stores",
                "veterinary_services",
                "video_amusement_game_supplies",
                "video_game_arcades",
                "video_tape_rental_stores",
                "vocational_trade_schools",
                "watch_jewelry_repair",
                "welding_repair",
                "wholesale_clubs",
                "wig_and_toupee_stores",
                "wires_money_orders",
                "womens_accessory_and_specialty_shops",
                "womens_ready_to_wear_stores",
                "wrecking_and_salvage_yards"
              ],
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "blocked_categories": {
            "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`.",
            "items": {
              "enum": [
                "ac_refrigeration_repair",
                "accounting_bookkeeping_services",
                "advertising_services",
                "agricultural_cooperative",
                "airlines_air_carriers",
                "airports_flying_fields",
                "ambulance_services",
                "amusement_parks_carnivals",
                "antique_reproductions",
                "antique_shops",
                "aquariums",
                "architectural_surveying_services",
                "art_dealers_and_galleries",
                "artists_supply_and_craft_shops",
                "auto_and_home_supply_stores",
                "auto_body_repair_shops",
                "auto_paint_shops",
                "auto_service_shops",
                "automated_cash_disburse",
                "automated_fuel_dispensers",
                "automobile_associations",
                "automotive_parts_and_accessories_stores",
                "automotive_tire_stores",
                "bail_and_bond_payments",
                "bakeries",
                "bands_orchestras",
                "barber_and_beauty_shops",
                "betting_casino_gambling",
                "bicycle_shops",
                "billiard_pool_establishments",
                "boat_dealers",
                "boat_rentals_and_leases",
                "book_stores",
                "books_periodicals_and_newspapers",
                "bowling_alleys",
                "bus_lines",
                "business_secretarial_schools",
                "buying_shopping_services",
                "cable_satellite_and_other_pay_television_and_radio",
                "camera_and_photographic_supply_stores",
                "candy_nut_and_confectionery_stores",
                "car_and_truck_dealers_new_used",
                "car_and_truck_dealers_used_only",
                "car_rental_agencies",
                "car_washes",
                "carpentry_services",
                "carpet_upholstery_cleaning",
                "caterers",
                "charitable_and_social_service_organizations_fundraising",
                "chemicals_and_allied_products",
                "child_care_services",
                "childrens_and_infants_wear_stores",
                "chiropodists_podiatrists",
                "chiropractors",
                "cigar_stores_and_stands",
                "civic_social_fraternal_associations",
                "cleaning_and_maintenance",
                "clothing_rental",
                "colleges_universities",
                "commercial_equipment",
                "commercial_footwear",
                "commercial_photography_art_and_graphics",
                "commuter_transport_and_ferries",
                "computer_network_services",
                "computer_programming",
                "computer_repair",
                "computer_software_stores",
                "computers_peripherals_and_software",
                "concrete_work_services",
                "construction_materials",
                "consulting_public_relations",
                "correspondence_schools",
                "cosmetic_stores",
                "counseling_services",
                "country_clubs",
                "courier_services",
                "court_costs",
                "credit_reporting_agencies",
                "cruise_lines",
                "dairy_products_stores",
                "dance_hall_studios_schools",
                "dating_escort_services",
                "dentists_orthodontists",
                "department_stores",
                "detective_agencies",
                "digital_goods_applications",
                "digital_goods_games",
                "digital_goods_large_volume",
                "digital_goods_media",
                "direct_marketing_catalog_merchant",
                "direct_marketing_combination_catalog_and_retail_merchant",
                "direct_marketing_inbound_telemarketing",
                "direct_marketing_insurance_services",
                "direct_marketing_other",
                "direct_marketing_outbound_telemarketing",
                "direct_marketing_subscription",
                "direct_marketing_travel",
                "discount_stores",
                "doctors",
                "door_to_door_sales",
                "drapery_window_covering_and_upholstery_stores",
                "drinking_places",
                "drug_stores_and_pharmacies",
                "drugs_drug_proprietaries_and_druggist_sundries",
                "dry_cleaners",
                "durable_goods",
                "duty_free_stores",
                "eating_places_restaurants",
                "educational_services",
                "electric_razor_stores",
                "electrical_parts_and_equipment",
                "electrical_services",
                "electronics_repair_shops",
                "electronics_stores",
                "elementary_secondary_schools",
                "employment_temp_agencies",
                "equipment_rental",
                "exterminating_services",
                "family_clothing_stores",
                "fast_food_restaurants",
                "financial_institutions",
                "fines_government_administrative_entities",
                "fireplace_fireplace_screens_and_accessories_stores",
                "floor_covering_stores",
                "florists",
                "florists_supplies_nursery_stock_and_flowers",
                "freezer_and_locker_meat_provisioners",
                "fuel_dealers_non_automotive",
                "funeral_services_crematories",
                "furniture_home_furnishings_and_equipment_stores_except_appliances",
                "furniture_repair_refinishing",
                "furriers_and_fur_shops",
                "general_services",
                "gift_card_novelty_and_souvenir_shops",
                "glass_paint_and_wallpaper_stores",
                "glassware_crystal_stores",
                "golf_courses_public",
                "government_services",
                "grocery_stores_supermarkets",
                "hardware_equipment_and_supplies",
                "hardware_stores",
                "health_and_beauty_spas",
                "hearing_aids_sales_and_supplies",
                "heating_plumbing_a_c",
                "hobby_toy_and_game_shops",
                "home_supply_warehouse_stores",
                "hospitals",
                "hotels_motels_and_resorts",
                "household_appliance_stores",
                "industrial_supplies",
                "information_retrieval_services",
                "insurance_default",
                "insurance_underwriting_premiums",
                "intra_company_purchases",
                "jewelry_stores_watches_clocks_and_silverware_stores",
                "landscaping_services",
                "laundries",
                "laundry_cleaning_services",
                "legal_services_attorneys",
                "luggage_and_leather_goods_stores",
                "lumber_building_materials_stores",
                "manual_cash_disburse",
                "marinas_service_and_supplies",
                "masonry_stonework_and_plaster",
                "massage_parlors",
                "medical_and_dental_labs",
                "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                "medical_services",
                "membership_organizations",
                "mens_and_boys_clothing_and_accessories_stores",
                "mens_womens_clothing_stores",
                "metal_service_centers",
                "miscellaneous",
                "miscellaneous_apparel_and_accessory_shops",
                "miscellaneous_auto_dealers",
                "miscellaneous_business_services",
                "miscellaneous_food_stores",
                "miscellaneous_general_merchandise",
                "miscellaneous_general_services",
                "miscellaneous_home_furnishing_specialty_stores",
                "miscellaneous_publishing_and_printing",
                "miscellaneous_recreation_services",
                "miscellaneous_repair_shops",
                "miscellaneous_specialty_retail",
                "mobile_home_dealers",
                "motion_picture_theaters",
                "motor_freight_carriers_and_trucking",
                "motor_homes_dealers",
                "motor_vehicle_supplies_and_new_parts",
                "motorcycle_shops_and_dealers",
                "motorcycle_shops_dealers",
                "music_stores_musical_instruments_pianos_and_sheet_music",
                "news_dealers_and_newsstands",
                "non_fi_money_orders",
                "non_fi_stored_value_card_purchase_load",
                "nondurable_goods",
                "nurseries_lawn_and_garden_supply_stores",
                "nursing_personal_care",
                "office_and_commercial_furniture",
                "opticians_eyeglasses",
                "optometrists_ophthalmologist",
                "orthopedic_goods_prosthetic_devices",
                "osteopaths",
                "package_stores_beer_wine_and_liquor",
                "paints_varnishes_and_supplies",
                "parking_lots_garages",
                "passenger_railways",
                "pawn_shops",
                "pet_shops_pet_food_and_supplies",
                "petroleum_and_petroleum_products",
                "photo_developing",
                "photographic_photocopy_microfilm_equipment_and_supplies",
                "photographic_studios",
                "picture_video_production",
                "piece_goods_notions_and_other_dry_goods",
                "plumbing_heating_equipment_and_supplies",
                "political_organizations",
                "postal_services_government_only",
                "precious_stones_and_metals_watches_and_jewelry",
                "professional_services",
                "public_warehousing_and_storage",
                "quick_copy_repro_and_blueprint",
                "railroads",
                "real_estate_agents_and_managers_rentals",
                "record_stores",
                "recreational_vehicle_rentals",
                "religious_goods_stores",
                "religious_organizations",
                "roofing_siding_sheet_metal",
                "secretarial_support_services",
                "security_brokers_dealers",
                "service_stations",
                "sewing_needlework_fabric_and_piece_goods_stores",
                "shoe_repair_hat_cleaning",
                "shoe_stores",
                "small_appliance_repair",
                "snowmobile_dealers",
                "special_trade_services",
                "specialty_cleaning",
                "sporting_goods_stores",
                "sporting_recreation_camps",
                "sports_and_riding_apparel_stores",
                "sports_clubs_fields",
                "stamp_and_coin_stores",
                "stationary_office_supplies_printing_and_writing_paper",
                "stationery_stores_office_and_school_supply_stores",
                "swimming_pools_sales",
                "t_ui_travel_germany",
                "tailors_alterations",
                "tax_payments_government_agencies",
                "tax_preparation_services",
                "taxicabs_limousines",
                "telecommunication_equipment_and_telephone_sales",
                "telecommunication_services",
                "telegraph_services",
                "tent_and_awning_shops",
                "testing_laboratories",
                "theatrical_ticket_agencies",
                "timeshares",
                "tire_retreading_and_repair",
                "tolls_bridge_fees",
                "tourist_attractions_and_exhibits",
                "towing_services",
                "trailer_parks_campgrounds",
                "transportation_services",
                "travel_agencies_tour_operators",
                "truck_stop_iteration",
                "truck_utility_trailer_rentals",
                "typesetting_plate_making_and_related_services",
                "typewriter_stores",
                "u_s_federal_government_agencies_or_departments",
                "uniforms_commercial_clothing",
                "used_merchandise_and_secondhand_stores",
                "utilities",
                "variety_stores",
                "veterinary_services",
                "video_amusement_game_supplies",
                "video_game_arcades",
                "video_tape_rental_stores",
                "vocational_trade_schools",
                "watch_jewelry_repair",
                "welding_repair",
                "wholesale_clubs",
                "wig_and_toupee_stores",
                "wires_money_orders",
                "womens_accessory_and_specialty_shops",
                "womens_ready_to_wear_stores",
                "wrecking_and_salvage_yards"
              ],
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "spending_limits": {
            "description": "Limit spending with amount-based rules that apply across any cards this card replaced (i.e., its `replacement_for` card and _that_ card's `replacement_for` card, up the chain).",
            "items": {
              "$ref": "#/components/schemas/issuing_card_spending_limit"
            },
            "nullable": true,
            "type": "array"
          },
          "spending_limits_currency": {
            "description": "Currency of the amounts within `spending_limits`. Always the same as the currency of the card.",
            "nullable": true,
            "type": "string"
          }
        },
        "title": "IssuingCardAuthorizationControls",
        "type": "object",
        "x-expandableFields": ["spending_limits"]
      },
      "issuing_card_shipping": {
        "description": "",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/address"
          },
          "carrier": {
            "description": "The delivery company that shipped a card.",
            "enum": ["fedex", "usps"],
            "nullable": true,
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "eta": {
            "description": "A unix timestamp representing a best estimate of when the card will be delivered.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "name": {
            "description": "Recipient name.",
            "maxLength": 5000,
            "type": "string"
          },
          "service": {
            "description": "Shipment service, such as `standard` or `express`.",
            "enum": ["express", "priority", "standard"],
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "status": {
            "description": "The delivery status of the card.",
            "enum": ["canceled", "delivered", "failure", "pending", "returned", "shipped"],
            "nullable": true,
            "type": "string"
          },
          "tracking_number": {
            "description": "A tracking number for a card shipment.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "tracking_url": {
            "description": "A link to the shipping carrier's site where you can view detailed information about a card shipment.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Packaging options.",
            "enum": ["bulk", "individual"],
            "type": "string"
          }
        },
        "required": ["address", "name", "service", "type"],
        "title": "IssuingCardShipping",
        "type": "object",
        "x-expandableFields": ["address"]
      },
      "issuing_card_spending_limit": {
        "description": "",
        "properties": {
          "amount": {
            "description": "Maximum amount allowed to spend per interval.",
            "type": "integer"
          },
          "categories": {
            "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories.",
            "items": {
              "enum": [
                "ac_refrigeration_repair",
                "accounting_bookkeeping_services",
                "advertising_services",
                "agricultural_cooperative",
                "airlines_air_carriers",
                "airports_flying_fields",
                "ambulance_services",
                "amusement_parks_carnivals",
                "antique_reproductions",
                "antique_shops",
                "aquariums",
                "architectural_surveying_services",
                "art_dealers_and_galleries",
                "artists_supply_and_craft_shops",
                "auto_and_home_supply_stores",
                "auto_body_repair_shops",
                "auto_paint_shops",
                "auto_service_shops",
                "automated_cash_disburse",
                "automated_fuel_dispensers",
                "automobile_associations",
                "automotive_parts_and_accessories_stores",
                "automotive_tire_stores",
                "bail_and_bond_payments",
                "bakeries",
                "bands_orchestras",
                "barber_and_beauty_shops",
                "betting_casino_gambling",
                "bicycle_shops",
                "billiard_pool_establishments",
                "boat_dealers",
                "boat_rentals_and_leases",
                "book_stores",
                "books_periodicals_and_newspapers",
                "bowling_alleys",
                "bus_lines",
                "business_secretarial_schools",
                "buying_shopping_services",
                "cable_satellite_and_other_pay_television_and_radio",
                "camera_and_photographic_supply_stores",
                "candy_nut_and_confectionery_stores",
                "car_and_truck_dealers_new_used",
                "car_and_truck_dealers_used_only",
                "car_rental_agencies",
                "car_washes",
                "carpentry_services",
                "carpet_upholstery_cleaning",
                "caterers",
                "charitable_and_social_service_organizations_fundraising",
                "chemicals_and_allied_products",
                "child_care_services",
                "childrens_and_infants_wear_stores",
                "chiropodists_podiatrists",
                "chiropractors",
                "cigar_stores_and_stands",
                "civic_social_fraternal_associations",
                "cleaning_and_maintenance",
                "clothing_rental",
                "colleges_universities",
                "commercial_equipment",
                "commercial_footwear",
                "commercial_photography_art_and_graphics",
                "commuter_transport_and_ferries",
                "computer_network_services",
                "computer_programming",
                "computer_repair",
                "computer_software_stores",
                "computers_peripherals_and_software",
                "concrete_work_services",
                "construction_materials",
                "consulting_public_relations",
                "correspondence_schools",
                "cosmetic_stores",
                "counseling_services",
                "country_clubs",
                "courier_services",
                "court_costs",
                "credit_reporting_agencies",
                "cruise_lines",
                "dairy_products_stores",
                "dance_hall_studios_schools",
                "dating_escort_services",
                "dentists_orthodontists",
                "department_stores",
                "detective_agencies",
                "digital_goods_applications",
                "digital_goods_games",
                "digital_goods_large_volume",
                "digital_goods_media",
                "direct_marketing_catalog_merchant",
                "direct_marketing_combination_catalog_and_retail_merchant",
                "direct_marketing_inbound_telemarketing",
                "direct_marketing_insurance_services",
                "direct_marketing_other",
                "direct_marketing_outbound_telemarketing",
                "direct_marketing_subscription",
                "direct_marketing_travel",
                "discount_stores",
                "doctors",
                "door_to_door_sales",
                "drapery_window_covering_and_upholstery_stores",
                "drinking_places",
                "drug_stores_and_pharmacies",
                "drugs_drug_proprietaries_and_druggist_sundries",
                "dry_cleaners",
                "durable_goods",
                "duty_free_stores",
                "eating_places_restaurants",
                "educational_services",
                "electric_razor_stores",
                "electrical_parts_and_equipment",
                "electrical_services",
                "electronics_repair_shops",
                "electronics_stores",
                "elementary_secondary_schools",
                "employment_temp_agencies",
                "equipment_rental",
                "exterminating_services",
                "family_clothing_stores",
                "fast_food_restaurants",
                "financial_institutions",
                "fines_government_administrative_entities",
                "fireplace_fireplace_screens_and_accessories_stores",
                "floor_covering_stores",
                "florists",
                "florists_supplies_nursery_stock_and_flowers",
                "freezer_and_locker_meat_provisioners",
                "fuel_dealers_non_automotive",
                "funeral_services_crematories",
                "furniture_home_furnishings_and_equipment_stores_except_appliances",
                "furniture_repair_refinishing",
                "furriers_and_fur_shops",
                "general_services",
                "gift_card_novelty_and_souvenir_shops",
                "glass_paint_and_wallpaper_stores",
                "glassware_crystal_stores",
                "golf_courses_public",
                "government_services",
                "grocery_stores_supermarkets",
                "hardware_equipment_and_supplies",
                "hardware_stores",
                "health_and_beauty_spas",
                "hearing_aids_sales_and_supplies",
                "heating_plumbing_a_c",
                "hobby_toy_and_game_shops",
                "home_supply_warehouse_stores",
                "hospitals",
                "hotels_motels_and_resorts",
                "household_appliance_stores",
                "industrial_supplies",
                "information_retrieval_services",
                "insurance_default",
                "insurance_underwriting_premiums",
                "intra_company_purchases",
                "jewelry_stores_watches_clocks_and_silverware_stores",
                "landscaping_services",
                "laundries",
                "laundry_cleaning_services",
                "legal_services_attorneys",
                "luggage_and_leather_goods_stores",
                "lumber_building_materials_stores",
                "manual_cash_disburse",
                "marinas_service_and_supplies",
                "masonry_stonework_and_plaster",
                "massage_parlors",
                "medical_and_dental_labs",
                "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                "medical_services",
                "membership_organizations",
                "mens_and_boys_clothing_and_accessories_stores",
                "mens_womens_clothing_stores",
                "metal_service_centers",
                "miscellaneous",
                "miscellaneous_apparel_and_accessory_shops",
                "miscellaneous_auto_dealers",
                "miscellaneous_business_services",
                "miscellaneous_food_stores",
                "miscellaneous_general_merchandise",
                "miscellaneous_general_services",
                "miscellaneous_home_furnishing_specialty_stores",
                "miscellaneous_publishing_and_printing",
                "miscellaneous_recreation_services",
                "miscellaneous_repair_shops",
                "miscellaneous_specialty_retail",
                "mobile_home_dealers",
                "motion_picture_theaters",
                "motor_freight_carriers_and_trucking",
                "motor_homes_dealers",
                "motor_vehicle_supplies_and_new_parts",
                "motorcycle_shops_and_dealers",
                "motorcycle_shops_dealers",
                "music_stores_musical_instruments_pianos_and_sheet_music",
                "news_dealers_and_newsstands",
                "non_fi_money_orders",
                "non_fi_stored_value_card_purchase_load",
                "nondurable_goods",
                "nurseries_lawn_and_garden_supply_stores",
                "nursing_personal_care",
                "office_and_commercial_furniture",
                "opticians_eyeglasses",
                "optometrists_ophthalmologist",
                "orthopedic_goods_prosthetic_devices",
                "osteopaths",
                "package_stores_beer_wine_and_liquor",
                "paints_varnishes_and_supplies",
                "parking_lots_garages",
                "passenger_railways",
                "pawn_shops",
                "pet_shops_pet_food_and_supplies",
                "petroleum_and_petroleum_products",
                "photo_developing",
                "photographic_photocopy_microfilm_equipment_and_supplies",
                "photographic_studios",
                "picture_video_production",
                "piece_goods_notions_and_other_dry_goods",
                "plumbing_heating_equipment_and_supplies",
                "political_organizations",
                "postal_services_government_only",
                "precious_stones_and_metals_watches_and_jewelry",
                "professional_services",
                "public_warehousing_and_storage",
                "quick_copy_repro_and_blueprint",
                "railroads",
                "real_estate_agents_and_managers_rentals",
                "record_stores",
                "recreational_vehicle_rentals",
                "religious_goods_stores",
                "religious_organizations",
                "roofing_siding_sheet_metal",
                "secretarial_support_services",
                "security_brokers_dealers",
                "service_stations",
                "sewing_needlework_fabric_and_piece_goods_stores",
                "shoe_repair_hat_cleaning",
                "shoe_stores",
                "small_appliance_repair",
                "snowmobile_dealers",
                "special_trade_services",
                "specialty_cleaning",
                "sporting_goods_stores",
                "sporting_recreation_camps",
                "sports_and_riding_apparel_stores",
                "sports_clubs_fields",
                "stamp_and_coin_stores",
                "stationary_office_supplies_printing_and_writing_paper",
                "stationery_stores_office_and_school_supply_stores",
                "swimming_pools_sales",
                "t_ui_travel_germany",
                "tailors_alterations",
                "tax_payments_government_agencies",
                "tax_preparation_services",
                "taxicabs_limousines",
                "telecommunication_equipment_and_telephone_sales",
                "telecommunication_services",
                "telegraph_services",
                "tent_and_awning_shops",
                "testing_laboratories",
                "theatrical_ticket_agencies",
                "timeshares",
                "tire_retreading_and_repair",
                "tolls_bridge_fees",
                "tourist_attractions_and_exhibits",
                "towing_services",
                "trailer_parks_campgrounds",
                "transportation_services",
                "travel_agencies_tour_operators",
                "truck_stop_iteration",
                "truck_utility_trailer_rentals",
                "typesetting_plate_making_and_related_services",
                "typewriter_stores",
                "u_s_federal_government_agencies_or_departments",
                "uniforms_commercial_clothing",
                "used_merchandise_and_secondhand_stores",
                "utilities",
                "variety_stores",
                "veterinary_services",
                "video_amusement_game_supplies",
                "video_game_arcades",
                "video_tape_rental_stores",
                "vocational_trade_schools",
                "watch_jewelry_repair",
                "welding_repair",
                "wholesale_clubs",
                "wig_and_toupee_stores",
                "wires_money_orders",
                "womens_accessory_and_specialty_shops",
                "womens_ready_to_wear_stores",
                "wrecking_and_salvage_yards"
              ],
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "interval": {
            "description": "Interval (or event) to which the amount applies.",
            "enum": ["all_time", "daily", "monthly", "per_authorization", "weekly", "yearly"],
            "type": "string"
          }
        },
        "required": ["amount", "interval"],
        "title": "IssuingCardSpendingLimit",
        "type": "object",
        "x-expandableFields": []
      },
      "issuing_cardholder_address": {
        "description": "",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/address"
          }
        },
        "required": ["address"],
        "title": "IssuingCardholderAddress",
        "type": "object",
        "x-expandableFields": ["address"]
      },
      "issuing_cardholder_authorization_controls": {
        "description": "",
        "properties": {
          "allowed_categories": {
            "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to allow. All other categories will be blocked. Cannot be set with `blocked_categories`.",
            "items": {
              "enum": [
                "ac_refrigeration_repair",
                "accounting_bookkeeping_services",
                "advertising_services",
                "agricultural_cooperative",
                "airlines_air_carriers",
                "airports_flying_fields",
                "ambulance_services",
                "amusement_parks_carnivals",
                "antique_reproductions",
                "antique_shops",
                "aquariums",
                "architectural_surveying_services",
                "art_dealers_and_galleries",
                "artists_supply_and_craft_shops",
                "auto_and_home_supply_stores",
                "auto_body_repair_shops",
                "auto_paint_shops",
                "auto_service_shops",
                "automated_cash_disburse",
                "automated_fuel_dispensers",
                "automobile_associations",
                "automotive_parts_and_accessories_stores",
                "automotive_tire_stores",
                "bail_and_bond_payments",
                "bakeries",
                "bands_orchestras",
                "barber_and_beauty_shops",
                "betting_casino_gambling",
                "bicycle_shops",
                "billiard_pool_establishments",
                "boat_dealers",
                "boat_rentals_and_leases",
                "book_stores",
                "books_periodicals_and_newspapers",
                "bowling_alleys",
                "bus_lines",
                "business_secretarial_schools",
                "buying_shopping_services",
                "cable_satellite_and_other_pay_television_and_radio",
                "camera_and_photographic_supply_stores",
                "candy_nut_and_confectionery_stores",
                "car_and_truck_dealers_new_used",
                "car_and_truck_dealers_used_only",
                "car_rental_agencies",
                "car_washes",
                "carpentry_services",
                "carpet_upholstery_cleaning",
                "caterers",
                "charitable_and_social_service_organizations_fundraising",
                "chemicals_and_allied_products",
                "child_care_services",
                "childrens_and_infants_wear_stores",
                "chiropodists_podiatrists",
                "chiropractors",
                "cigar_stores_and_stands",
                "civic_social_fraternal_associations",
                "cleaning_and_maintenance",
                "clothing_rental",
                "colleges_universities",
                "commercial_equipment",
                "commercial_footwear",
                "commercial_photography_art_and_graphics",
                "commuter_transport_and_ferries",
                "computer_network_services",
                "computer_programming",
                "computer_repair",
                "computer_software_stores",
                "computers_peripherals_and_software",
                "concrete_work_services",
                "construction_materials",
                "consulting_public_relations",
                "correspondence_schools",
                "cosmetic_stores",
                "counseling_services",
                "country_clubs",
                "courier_services",
                "court_costs",
                "credit_reporting_agencies",
                "cruise_lines",
                "dairy_products_stores",
                "dance_hall_studios_schools",
                "dating_escort_services",
                "dentists_orthodontists",
                "department_stores",
                "detective_agencies",
                "digital_goods_applications",
                "digital_goods_games",
                "digital_goods_large_volume",
                "digital_goods_media",
                "direct_marketing_catalog_merchant",
                "direct_marketing_combination_catalog_and_retail_merchant",
                "direct_marketing_inbound_telemarketing",
                "direct_marketing_insurance_services",
                "direct_marketing_other",
                "direct_marketing_outbound_telemarketing",
                "direct_marketing_subscription",
                "direct_marketing_travel",
                "discount_stores",
                "doctors",
                "door_to_door_sales",
                "drapery_window_covering_and_upholstery_stores",
                "drinking_places",
                "drug_stores_and_pharmacies",
                "drugs_drug_proprietaries_and_druggist_sundries",
                "dry_cleaners",
                "durable_goods",
                "duty_free_stores",
                "eating_places_restaurants",
                "educational_services",
                "electric_razor_stores",
                "electrical_parts_and_equipment",
                "electrical_services",
                "electronics_repair_shops",
                "electronics_stores",
                "elementary_secondary_schools",
                "employment_temp_agencies",
                "equipment_rental",
                "exterminating_services",
                "family_clothing_stores",
                "fast_food_restaurants",
                "financial_institutions",
                "fines_government_administrative_entities",
                "fireplace_fireplace_screens_and_accessories_stores",
                "floor_covering_stores",
                "florists",
                "florists_supplies_nursery_stock_and_flowers",
                "freezer_and_locker_meat_provisioners",
                "fuel_dealers_non_automotive",
                "funeral_services_crematories",
                "furniture_home_furnishings_and_equipment_stores_except_appliances",
                "furniture_repair_refinishing",
                "furriers_and_fur_shops",
                "general_services",
                "gift_card_novelty_and_souvenir_shops",
                "glass_paint_and_wallpaper_stores",
                "glassware_crystal_stores",
                "golf_courses_public",
                "government_services",
                "grocery_stores_supermarkets",
                "hardware_equipment_and_supplies",
                "hardware_stores",
                "health_and_beauty_spas",
                "hearing_aids_sales_and_supplies",
                "heating_plumbing_a_c",
                "hobby_toy_and_game_shops",
                "home_supply_warehouse_stores",
                "hospitals",
                "hotels_motels_and_resorts",
                "household_appliance_stores",
                "industrial_supplies",
                "information_retrieval_services",
                "insurance_default",
                "insurance_underwriting_premiums",
                "intra_company_purchases",
                "jewelry_stores_watches_clocks_and_silverware_stores",
                "landscaping_services",
                "laundries",
                "laundry_cleaning_services",
                "legal_services_attorneys",
                "luggage_and_leather_goods_stores",
                "lumber_building_materials_stores",
                "manual_cash_disburse",
                "marinas_service_and_supplies",
                "masonry_stonework_and_plaster",
                "massage_parlors",
                "medical_and_dental_labs",
                "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                "medical_services",
                "membership_organizations",
                "mens_and_boys_clothing_and_accessories_stores",
                "mens_womens_clothing_stores",
                "metal_service_centers",
                "miscellaneous",
                "miscellaneous_apparel_and_accessory_shops",
                "miscellaneous_auto_dealers",
                "miscellaneous_business_services",
                "miscellaneous_food_stores",
                "miscellaneous_general_merchandise",
                "miscellaneous_general_services",
                "miscellaneous_home_furnishing_specialty_stores",
                "miscellaneous_publishing_and_printing",
                "miscellaneous_recreation_services",
                "miscellaneous_repair_shops",
                "miscellaneous_specialty_retail",
                "mobile_home_dealers",
                "motion_picture_theaters",
                "motor_freight_carriers_and_trucking",
                "motor_homes_dealers",
                "motor_vehicle_supplies_and_new_parts",
                "motorcycle_shops_and_dealers",
                "motorcycle_shops_dealers",
                "music_stores_musical_instruments_pianos_and_sheet_music",
                "news_dealers_and_newsstands",
                "non_fi_money_orders",
                "non_fi_stored_value_card_purchase_load",
                "nondurable_goods",
                "nurseries_lawn_and_garden_supply_stores",
                "nursing_personal_care",
                "office_and_commercial_furniture",
                "opticians_eyeglasses",
                "optometrists_ophthalmologist",
                "orthopedic_goods_prosthetic_devices",
                "osteopaths",
                "package_stores_beer_wine_and_liquor",
                "paints_varnishes_and_supplies",
                "parking_lots_garages",
                "passenger_railways",
                "pawn_shops",
                "pet_shops_pet_food_and_supplies",
                "petroleum_and_petroleum_products",
                "photo_developing",
                "photographic_photocopy_microfilm_equipment_and_supplies",
                "photographic_studios",
                "picture_video_production",
                "piece_goods_notions_and_other_dry_goods",
                "plumbing_heating_equipment_and_supplies",
                "political_organizations",
                "postal_services_government_only",
                "precious_stones_and_metals_watches_and_jewelry",
                "professional_services",
                "public_warehousing_and_storage",
                "quick_copy_repro_and_blueprint",
                "railroads",
                "real_estate_agents_and_managers_rentals",
                "record_stores",
                "recreational_vehicle_rentals",
                "religious_goods_stores",
                "religious_organizations",
                "roofing_siding_sheet_metal",
                "secretarial_support_services",
                "security_brokers_dealers",
                "service_stations",
                "sewing_needlework_fabric_and_piece_goods_stores",
                "shoe_repair_hat_cleaning",
                "shoe_stores",
                "small_appliance_repair",
                "snowmobile_dealers",
                "special_trade_services",
                "specialty_cleaning",
                "sporting_goods_stores",
                "sporting_recreation_camps",
                "sports_and_riding_apparel_stores",
                "sports_clubs_fields",
                "stamp_and_coin_stores",
                "stationary_office_supplies_printing_and_writing_paper",
                "stationery_stores_office_and_school_supply_stores",
                "swimming_pools_sales",
                "t_ui_travel_germany",
                "tailors_alterations",
                "tax_payments_government_agencies",
                "tax_preparation_services",
                "taxicabs_limousines",
                "telecommunication_equipment_and_telephone_sales",
                "telecommunication_services",
                "telegraph_services",
                "tent_and_awning_shops",
                "testing_laboratories",
                "theatrical_ticket_agencies",
                "timeshares",
                "tire_retreading_and_repair",
                "tolls_bridge_fees",
                "tourist_attractions_and_exhibits",
                "towing_services",
                "trailer_parks_campgrounds",
                "transportation_services",
                "travel_agencies_tour_operators",
                "truck_stop_iteration",
                "truck_utility_trailer_rentals",
                "typesetting_plate_making_and_related_services",
                "typewriter_stores",
                "u_s_federal_government_agencies_or_departments",
                "uniforms_commercial_clothing",
                "used_merchandise_and_secondhand_stores",
                "utilities",
                "variety_stores",
                "veterinary_services",
                "video_amusement_game_supplies",
                "video_game_arcades",
                "video_tape_rental_stores",
                "vocational_trade_schools",
                "watch_jewelry_repair",
                "welding_repair",
                "wholesale_clubs",
                "wig_and_toupee_stores",
                "wires_money_orders",
                "womens_accessory_and_specialty_shops",
                "womens_ready_to_wear_stores",
                "wrecking_and_salvage_yards"
              ],
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "blocked_categories": {
            "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) of authorizations to decline. All other categories will be allowed. Cannot be set with `allowed_categories`.",
            "items": {
              "enum": [
                "ac_refrigeration_repair",
                "accounting_bookkeeping_services",
                "advertising_services",
                "agricultural_cooperative",
                "airlines_air_carriers",
                "airports_flying_fields",
                "ambulance_services",
                "amusement_parks_carnivals",
                "antique_reproductions",
                "antique_shops",
                "aquariums",
                "architectural_surveying_services",
                "art_dealers_and_galleries",
                "artists_supply_and_craft_shops",
                "auto_and_home_supply_stores",
                "auto_body_repair_shops",
                "auto_paint_shops",
                "auto_service_shops",
                "automated_cash_disburse",
                "automated_fuel_dispensers",
                "automobile_associations",
                "automotive_parts_and_accessories_stores",
                "automotive_tire_stores",
                "bail_and_bond_payments",
                "bakeries",
                "bands_orchestras",
                "barber_and_beauty_shops",
                "betting_casino_gambling",
                "bicycle_shops",
                "billiard_pool_establishments",
                "boat_dealers",
                "boat_rentals_and_leases",
                "book_stores",
                "books_periodicals_and_newspapers",
                "bowling_alleys",
                "bus_lines",
                "business_secretarial_schools",
                "buying_shopping_services",
                "cable_satellite_and_other_pay_television_and_radio",
                "camera_and_photographic_supply_stores",
                "candy_nut_and_confectionery_stores",
                "car_and_truck_dealers_new_used",
                "car_and_truck_dealers_used_only",
                "car_rental_agencies",
                "car_washes",
                "carpentry_services",
                "carpet_upholstery_cleaning",
                "caterers",
                "charitable_and_social_service_organizations_fundraising",
                "chemicals_and_allied_products",
                "child_care_services",
                "childrens_and_infants_wear_stores",
                "chiropodists_podiatrists",
                "chiropractors",
                "cigar_stores_and_stands",
                "civic_social_fraternal_associations",
                "cleaning_and_maintenance",
                "clothing_rental",
                "colleges_universities",
                "commercial_equipment",
                "commercial_footwear",
                "commercial_photography_art_and_graphics",
                "commuter_transport_and_ferries",
                "computer_network_services",
                "computer_programming",
                "computer_repair",
                "computer_software_stores",
                "computers_peripherals_and_software",
                "concrete_work_services",
                "construction_materials",
                "consulting_public_relations",
                "correspondence_schools",
                "cosmetic_stores",
                "counseling_services",
                "country_clubs",
                "courier_services",
                "court_costs",
                "credit_reporting_agencies",
                "cruise_lines",
                "dairy_products_stores",
                "dance_hall_studios_schools",
                "dating_escort_services",
                "dentists_orthodontists",
                "department_stores",
                "detective_agencies",
                "digital_goods_applications",
                "digital_goods_games",
                "digital_goods_large_volume",
                "digital_goods_media",
                "direct_marketing_catalog_merchant",
                "direct_marketing_combination_catalog_and_retail_merchant",
                "direct_marketing_inbound_telemarketing",
                "direct_marketing_insurance_services",
                "direct_marketing_other",
                "direct_marketing_outbound_telemarketing",
                "direct_marketing_subscription",
                "direct_marketing_travel",
                "discount_stores",
                "doctors",
                "door_to_door_sales",
                "drapery_window_covering_and_upholstery_stores",
                "drinking_places",
                "drug_stores_and_pharmacies",
                "drugs_drug_proprietaries_and_druggist_sundries",
                "dry_cleaners",
                "durable_goods",
                "duty_free_stores",
                "eating_places_restaurants",
                "educational_services",
                "electric_razor_stores",
                "electrical_parts_and_equipment",
                "electrical_services",
                "electronics_repair_shops",
                "electronics_stores",
                "elementary_secondary_schools",
                "employment_temp_agencies",
                "equipment_rental",
                "exterminating_services",
                "family_clothing_stores",
                "fast_food_restaurants",
                "financial_institutions",
                "fines_government_administrative_entities",
                "fireplace_fireplace_screens_and_accessories_stores",
                "floor_covering_stores",
                "florists",
                "florists_supplies_nursery_stock_and_flowers",
                "freezer_and_locker_meat_provisioners",
                "fuel_dealers_non_automotive",
                "funeral_services_crematories",
                "furniture_home_furnishings_and_equipment_stores_except_appliances",
                "furniture_repair_refinishing",
                "furriers_and_fur_shops",
                "general_services",
                "gift_card_novelty_and_souvenir_shops",
                "glass_paint_and_wallpaper_stores",
                "glassware_crystal_stores",
                "golf_courses_public",
                "government_services",
                "grocery_stores_supermarkets",
                "hardware_equipment_and_supplies",
                "hardware_stores",
                "health_and_beauty_spas",
                "hearing_aids_sales_and_supplies",
                "heating_plumbing_a_c",
                "hobby_toy_and_game_shops",
                "home_supply_warehouse_stores",
                "hospitals",
                "hotels_motels_and_resorts",
                "household_appliance_stores",
                "industrial_supplies",
                "information_retrieval_services",
                "insurance_default",
                "insurance_underwriting_premiums",
                "intra_company_purchases",
                "jewelry_stores_watches_clocks_and_silverware_stores",
                "landscaping_services",
                "laundries",
                "laundry_cleaning_services",
                "legal_services_attorneys",
                "luggage_and_leather_goods_stores",
                "lumber_building_materials_stores",
                "manual_cash_disburse",
                "marinas_service_and_supplies",
                "masonry_stonework_and_plaster",
                "massage_parlors",
                "medical_and_dental_labs",
                "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                "medical_services",
                "membership_organizations",
                "mens_and_boys_clothing_and_accessories_stores",
                "mens_womens_clothing_stores",
                "metal_service_centers",
                "miscellaneous",
                "miscellaneous_apparel_and_accessory_shops",
                "miscellaneous_auto_dealers",
                "miscellaneous_business_services",
                "miscellaneous_food_stores",
                "miscellaneous_general_merchandise",
                "miscellaneous_general_services",
                "miscellaneous_home_furnishing_specialty_stores",
                "miscellaneous_publishing_and_printing",
                "miscellaneous_recreation_services",
                "miscellaneous_repair_shops",
                "miscellaneous_specialty_retail",
                "mobile_home_dealers",
                "motion_picture_theaters",
                "motor_freight_carriers_and_trucking",
                "motor_homes_dealers",
                "motor_vehicle_supplies_and_new_parts",
                "motorcycle_shops_and_dealers",
                "motorcycle_shops_dealers",
                "music_stores_musical_instruments_pianos_and_sheet_music",
                "news_dealers_and_newsstands",
                "non_fi_money_orders",
                "non_fi_stored_value_card_purchase_load",
                "nondurable_goods",
                "nurseries_lawn_and_garden_supply_stores",
                "nursing_personal_care",
                "office_and_commercial_furniture",
                "opticians_eyeglasses",
                "optometrists_ophthalmologist",
                "orthopedic_goods_prosthetic_devices",
                "osteopaths",
                "package_stores_beer_wine_and_liquor",
                "paints_varnishes_and_supplies",
                "parking_lots_garages",
                "passenger_railways",
                "pawn_shops",
                "pet_shops_pet_food_and_supplies",
                "petroleum_and_petroleum_products",
                "photo_developing",
                "photographic_photocopy_microfilm_equipment_and_supplies",
                "photographic_studios",
                "picture_video_production",
                "piece_goods_notions_and_other_dry_goods",
                "plumbing_heating_equipment_and_supplies",
                "political_organizations",
                "postal_services_government_only",
                "precious_stones_and_metals_watches_and_jewelry",
                "professional_services",
                "public_warehousing_and_storage",
                "quick_copy_repro_and_blueprint",
                "railroads",
                "real_estate_agents_and_managers_rentals",
                "record_stores",
                "recreational_vehicle_rentals",
                "religious_goods_stores",
                "religious_organizations",
                "roofing_siding_sheet_metal",
                "secretarial_support_services",
                "security_brokers_dealers",
                "service_stations",
                "sewing_needlework_fabric_and_piece_goods_stores",
                "shoe_repair_hat_cleaning",
                "shoe_stores",
                "small_appliance_repair",
                "snowmobile_dealers",
                "special_trade_services",
                "specialty_cleaning",
                "sporting_goods_stores",
                "sporting_recreation_camps",
                "sports_and_riding_apparel_stores",
                "sports_clubs_fields",
                "stamp_and_coin_stores",
                "stationary_office_supplies_printing_and_writing_paper",
                "stationery_stores_office_and_school_supply_stores",
                "swimming_pools_sales",
                "t_ui_travel_germany",
                "tailors_alterations",
                "tax_payments_government_agencies",
                "tax_preparation_services",
                "taxicabs_limousines",
                "telecommunication_equipment_and_telephone_sales",
                "telecommunication_services",
                "telegraph_services",
                "tent_and_awning_shops",
                "testing_laboratories",
                "theatrical_ticket_agencies",
                "timeshares",
                "tire_retreading_and_repair",
                "tolls_bridge_fees",
                "tourist_attractions_and_exhibits",
                "towing_services",
                "trailer_parks_campgrounds",
                "transportation_services",
                "travel_agencies_tour_operators",
                "truck_stop_iteration",
                "truck_utility_trailer_rentals",
                "typesetting_plate_making_and_related_services",
                "typewriter_stores",
                "u_s_federal_government_agencies_or_departments",
                "uniforms_commercial_clothing",
                "used_merchandise_and_secondhand_stores",
                "utilities",
                "variety_stores",
                "veterinary_services",
                "video_amusement_game_supplies",
                "video_game_arcades",
                "video_tape_rental_stores",
                "vocational_trade_schools",
                "watch_jewelry_repair",
                "welding_repair",
                "wholesale_clubs",
                "wig_and_toupee_stores",
                "wires_money_orders",
                "womens_accessory_and_specialty_shops",
                "womens_ready_to_wear_stores",
                "wrecking_and_salvage_yards"
              ],
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "spending_limits": {
            "description": "Limit spending with amount-based rules that apply across this cardholder's cards.",
            "items": {
              "$ref": "#/components/schemas/issuing_cardholder_spending_limit"
            },
            "nullable": true,
            "type": "array"
          },
          "spending_limits_currency": {
            "description": "Currency of the amounts within `spending_limits`.",
            "nullable": true,
            "type": "string"
          }
        },
        "title": "IssuingCardholderAuthorizationControls",
        "type": "object",
        "x-expandableFields": ["spending_limits"]
      },
      "issuing_cardholder_company": {
        "description": "",
        "properties": {
          "tax_id_provided": {
            "description": "Whether the company's business ID number was provided.",
            "type": "boolean"
          }
        },
        "required": ["tax_id_provided"],
        "title": "IssuingCardholderCompany",
        "type": "object",
        "x-expandableFields": []
      },
      "issuing_cardholder_id_document": {
        "description": "",
        "properties": {
          "back": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "front": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          }
        },
        "title": "IssuingCardholderIdDocument",
        "type": "object",
        "x-expandableFields": ["back", "front"]
      },
      "issuing_cardholder_individual": {
        "description": "",
        "properties": {
          "dob": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_cardholder_individual_dob"
              }
            ],
            "description": "The date of birth of this cardholder.",
            "nullable": true
          },
          "first_name": {
            "description": "The first name of this cardholder.",
            "maxLength": 5000,
            "type": "string"
          },
          "last_name": {
            "description": "The last name of this cardholder.",
            "maxLength": 5000,
            "type": "string"
          },
          "verification": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_cardholder_verification"
              }
            ],
            "description": "Government-issued ID document for this cardholder.",
            "nullable": true
          }
        },
        "required": ["first_name", "last_name"],
        "title": "IssuingCardholderIndividual",
        "type": "object",
        "x-expandableFields": ["dob", "verification"]
      },
      "issuing_cardholder_individual_dob": {
        "description": "",
        "properties": {
          "day": {
            "description": "The day of birth, between 1 and 31.",
            "nullable": true,
            "type": "integer"
          },
          "month": {
            "description": "The month of birth, between 1 and 12.",
            "nullable": true,
            "type": "integer"
          },
          "year": {
            "description": "The four-digit year of birth.",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "IssuingCardholderIndividualDOB",
        "type": "object",
        "x-expandableFields": []
      },
      "issuing_cardholder_requirements": {
        "description": "",
        "properties": {
          "disabled_reason": {
            "description": "If `disabled_reason` is present, all cards will decline authorizations with `cardholder_verification_required` reason.",
            "enum": ["listed", "rejected.listed", "under_review"],
            "nullable": true,
            "type": "string"
          },
          "past_due": {
            "description": "Array of fields that need to be collected in order to verify and re-enable the cardholder.",
            "items": {
              "enum": [
                "company.tax_id",
                "individual.dob.day",
                "individual.dob.month",
                "individual.dob.year",
                "individual.first_name",
                "individual.last_name",
                "individual.verification.document"
              ],
              "type": "string",
              "x-stripeBypassValidation": true
            },
            "nullable": true,
            "type": "array"
          }
        },
        "title": "IssuingCardholderRequirements",
        "type": "object",
        "x-expandableFields": []
      },
      "issuing_cardholder_spending_limit": {
        "description": "",
        "properties": {
          "amount": {
            "description": "Maximum amount allowed to spend per interval.",
            "type": "integer"
          },
          "categories": {
            "description": "Array of strings containing [categories](https://stripe.com/docs/api#issuing_authorization_object-merchant_data-category) this limit applies to. Omitting this field will apply the limit to all categories.",
            "items": {
              "enum": [
                "ac_refrigeration_repair",
                "accounting_bookkeeping_services",
                "advertising_services",
                "agricultural_cooperative",
                "airlines_air_carriers",
                "airports_flying_fields",
                "ambulance_services",
                "amusement_parks_carnivals",
                "antique_reproductions",
                "antique_shops",
                "aquariums",
                "architectural_surveying_services",
                "art_dealers_and_galleries",
                "artists_supply_and_craft_shops",
                "auto_and_home_supply_stores",
                "auto_body_repair_shops",
                "auto_paint_shops",
                "auto_service_shops",
                "automated_cash_disburse",
                "automated_fuel_dispensers",
                "automobile_associations",
                "automotive_parts_and_accessories_stores",
                "automotive_tire_stores",
                "bail_and_bond_payments",
                "bakeries",
                "bands_orchestras",
                "barber_and_beauty_shops",
                "betting_casino_gambling",
                "bicycle_shops",
                "billiard_pool_establishments",
                "boat_dealers",
                "boat_rentals_and_leases",
                "book_stores",
                "books_periodicals_and_newspapers",
                "bowling_alleys",
                "bus_lines",
                "business_secretarial_schools",
                "buying_shopping_services",
                "cable_satellite_and_other_pay_television_and_radio",
                "camera_and_photographic_supply_stores",
                "candy_nut_and_confectionery_stores",
                "car_and_truck_dealers_new_used",
                "car_and_truck_dealers_used_only",
                "car_rental_agencies",
                "car_washes",
                "carpentry_services",
                "carpet_upholstery_cleaning",
                "caterers",
                "charitable_and_social_service_organizations_fundraising",
                "chemicals_and_allied_products",
                "child_care_services",
                "childrens_and_infants_wear_stores",
                "chiropodists_podiatrists",
                "chiropractors",
                "cigar_stores_and_stands",
                "civic_social_fraternal_associations",
                "cleaning_and_maintenance",
                "clothing_rental",
                "colleges_universities",
                "commercial_equipment",
                "commercial_footwear",
                "commercial_photography_art_and_graphics",
                "commuter_transport_and_ferries",
                "computer_network_services",
                "computer_programming",
                "computer_repair",
                "computer_software_stores",
                "computers_peripherals_and_software",
                "concrete_work_services",
                "construction_materials",
                "consulting_public_relations",
                "correspondence_schools",
                "cosmetic_stores",
                "counseling_services",
                "country_clubs",
                "courier_services",
                "court_costs",
                "credit_reporting_agencies",
                "cruise_lines",
                "dairy_products_stores",
                "dance_hall_studios_schools",
                "dating_escort_services",
                "dentists_orthodontists",
                "department_stores",
                "detective_agencies",
                "digital_goods_applications",
                "digital_goods_games",
                "digital_goods_large_volume",
                "digital_goods_media",
                "direct_marketing_catalog_merchant",
                "direct_marketing_combination_catalog_and_retail_merchant",
                "direct_marketing_inbound_telemarketing",
                "direct_marketing_insurance_services",
                "direct_marketing_other",
                "direct_marketing_outbound_telemarketing",
                "direct_marketing_subscription",
                "direct_marketing_travel",
                "discount_stores",
                "doctors",
                "door_to_door_sales",
                "drapery_window_covering_and_upholstery_stores",
                "drinking_places",
                "drug_stores_and_pharmacies",
                "drugs_drug_proprietaries_and_druggist_sundries",
                "dry_cleaners",
                "durable_goods",
                "duty_free_stores",
                "eating_places_restaurants",
                "educational_services",
                "electric_razor_stores",
                "electrical_parts_and_equipment",
                "electrical_services",
                "electronics_repair_shops",
                "electronics_stores",
                "elementary_secondary_schools",
                "employment_temp_agencies",
                "equipment_rental",
                "exterminating_services",
                "family_clothing_stores",
                "fast_food_restaurants",
                "financial_institutions",
                "fines_government_administrative_entities",
                "fireplace_fireplace_screens_and_accessories_stores",
                "floor_covering_stores",
                "florists",
                "florists_supplies_nursery_stock_and_flowers",
                "freezer_and_locker_meat_provisioners",
                "fuel_dealers_non_automotive",
                "funeral_services_crematories",
                "furniture_home_furnishings_and_equipment_stores_except_appliances",
                "furniture_repair_refinishing",
                "furriers_and_fur_shops",
                "general_services",
                "gift_card_novelty_and_souvenir_shops",
                "glass_paint_and_wallpaper_stores",
                "glassware_crystal_stores",
                "golf_courses_public",
                "government_services",
                "grocery_stores_supermarkets",
                "hardware_equipment_and_supplies",
                "hardware_stores",
                "health_and_beauty_spas",
                "hearing_aids_sales_and_supplies",
                "heating_plumbing_a_c",
                "hobby_toy_and_game_shops",
                "home_supply_warehouse_stores",
                "hospitals",
                "hotels_motels_and_resorts",
                "household_appliance_stores",
                "industrial_supplies",
                "information_retrieval_services",
                "insurance_default",
                "insurance_underwriting_premiums",
                "intra_company_purchases",
                "jewelry_stores_watches_clocks_and_silverware_stores",
                "landscaping_services",
                "laundries",
                "laundry_cleaning_services",
                "legal_services_attorneys",
                "luggage_and_leather_goods_stores",
                "lumber_building_materials_stores",
                "manual_cash_disburse",
                "marinas_service_and_supplies",
                "masonry_stonework_and_plaster",
                "massage_parlors",
                "medical_and_dental_labs",
                "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                "medical_services",
                "membership_organizations",
                "mens_and_boys_clothing_and_accessories_stores",
                "mens_womens_clothing_stores",
                "metal_service_centers",
                "miscellaneous",
                "miscellaneous_apparel_and_accessory_shops",
                "miscellaneous_auto_dealers",
                "miscellaneous_business_services",
                "miscellaneous_food_stores",
                "miscellaneous_general_merchandise",
                "miscellaneous_general_services",
                "miscellaneous_home_furnishing_specialty_stores",
                "miscellaneous_publishing_and_printing",
                "miscellaneous_recreation_services",
                "miscellaneous_repair_shops",
                "miscellaneous_specialty_retail",
                "mobile_home_dealers",
                "motion_picture_theaters",
                "motor_freight_carriers_and_trucking",
                "motor_homes_dealers",
                "motor_vehicle_supplies_and_new_parts",
                "motorcycle_shops_and_dealers",
                "motorcycle_shops_dealers",
                "music_stores_musical_instruments_pianos_and_sheet_music",
                "news_dealers_and_newsstands",
                "non_fi_money_orders",
                "non_fi_stored_value_card_purchase_load",
                "nondurable_goods",
                "nurseries_lawn_and_garden_supply_stores",
                "nursing_personal_care",
                "office_and_commercial_furniture",
                "opticians_eyeglasses",
                "optometrists_ophthalmologist",
                "orthopedic_goods_prosthetic_devices",
                "osteopaths",
                "package_stores_beer_wine_and_liquor",
                "paints_varnishes_and_supplies",
                "parking_lots_garages",
                "passenger_railways",
                "pawn_shops",
                "pet_shops_pet_food_and_supplies",
                "petroleum_and_petroleum_products",
                "photo_developing",
                "photographic_photocopy_microfilm_equipment_and_supplies",
                "photographic_studios",
                "picture_video_production",
                "piece_goods_notions_and_other_dry_goods",
                "plumbing_heating_equipment_and_supplies",
                "political_organizations",
                "postal_services_government_only",
                "precious_stones_and_metals_watches_and_jewelry",
                "professional_services",
                "public_warehousing_and_storage",
                "quick_copy_repro_and_blueprint",
                "railroads",
                "real_estate_agents_and_managers_rentals",
                "record_stores",
                "recreational_vehicle_rentals",
                "religious_goods_stores",
                "religious_organizations",
                "roofing_siding_sheet_metal",
                "secretarial_support_services",
                "security_brokers_dealers",
                "service_stations",
                "sewing_needlework_fabric_and_piece_goods_stores",
                "shoe_repair_hat_cleaning",
                "shoe_stores",
                "small_appliance_repair",
                "snowmobile_dealers",
                "special_trade_services",
                "specialty_cleaning",
                "sporting_goods_stores",
                "sporting_recreation_camps",
                "sports_and_riding_apparel_stores",
                "sports_clubs_fields",
                "stamp_and_coin_stores",
                "stationary_office_supplies_printing_and_writing_paper",
                "stationery_stores_office_and_school_supply_stores",
                "swimming_pools_sales",
                "t_ui_travel_germany",
                "tailors_alterations",
                "tax_payments_government_agencies",
                "tax_preparation_services",
                "taxicabs_limousines",
                "telecommunication_equipment_and_telephone_sales",
                "telecommunication_services",
                "telegraph_services",
                "tent_and_awning_shops",
                "testing_laboratories",
                "theatrical_ticket_agencies",
                "timeshares",
                "tire_retreading_and_repair",
                "tolls_bridge_fees",
                "tourist_attractions_and_exhibits",
                "towing_services",
                "trailer_parks_campgrounds",
                "transportation_services",
                "travel_agencies_tour_operators",
                "truck_stop_iteration",
                "truck_utility_trailer_rentals",
                "typesetting_plate_making_and_related_services",
                "typewriter_stores",
                "u_s_federal_government_agencies_or_departments",
                "uniforms_commercial_clothing",
                "used_merchandise_and_secondhand_stores",
                "utilities",
                "variety_stores",
                "veterinary_services",
                "video_amusement_game_supplies",
                "video_game_arcades",
                "video_tape_rental_stores",
                "vocational_trade_schools",
                "watch_jewelry_repair",
                "welding_repair",
                "wholesale_clubs",
                "wig_and_toupee_stores",
                "wires_money_orders",
                "womens_accessory_and_specialty_shops",
                "womens_ready_to_wear_stores",
                "wrecking_and_salvage_yards"
              ],
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "interval": {
            "description": "Interval (or event) to which the amount applies.",
            "enum": ["all_time", "daily", "monthly", "per_authorization", "weekly", "yearly"],
            "type": "string"
          }
        },
        "required": ["amount", "interval"],
        "title": "IssuingCardholderSpendingLimit",
        "type": "object",
        "x-expandableFields": []
      },
      "issuing_cardholder_verification": {
        "description": "",
        "properties": {
          "document": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_cardholder_id_document"
              }
            ],
            "description": "An identifying document, either a passport or local ID card.",
            "nullable": true
          }
        },
        "title": "IssuingCardholderVerification",
        "type": "object",
        "x-expandableFields": ["document"]
      },
      "issuing_dispute_canceled_evidence": {
        "description": "",
        "properties": {
          "additional_documentation": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "canceled_at": {
            "description": "Date when order was canceled.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "cancellation_policy_provided": {
            "description": "Whether the cardholder was provided with a cancellation policy.",
            "nullable": true,
            "type": "boolean"
          },
          "cancellation_reason": {
            "description": "Reason for canceling the order.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "expected_at": {
            "description": "Date when the cardholder expected to receive the product.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "explanation": {
            "description": "Explanation of why the cardholder is disputing this transaction.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "product_description": {
            "description": "Description of the merchandise or service that was purchased.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "product_type": {
            "description": "Whether the product was a merchandise or service.",
            "enum": ["merchandise", "service"],
            "nullable": true,
            "type": "string"
          },
          "return_status": {
            "description": "Result of cardholder's attempt to return the product.",
            "enum": ["merchant_rejected", "successful"],
            "nullable": true,
            "type": "string"
          },
          "returned_at": {
            "description": "Date when the product was returned or attempted to be returned.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "IssuingDisputeCanceledEvidence",
        "type": "object",
        "x-expandableFields": ["additional_documentation"]
      },
      "issuing_dispute_duplicate_evidence": {
        "description": "",
        "properties": {
          "additional_documentation": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "card_statement": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the card statement showing that the product had already been paid for.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "cash_receipt": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Copy of the receipt showing that the product had been paid for in cash.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "check_image": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Image of the front and back of the check that was used to pay for the product.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "explanation": {
            "description": "Explanation of why the cardholder is disputing this transaction.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "original_transaction": {
            "description": "Transaction (e.g., ipi_...) that the disputed transaction is a duplicate of. Of the two or more transactions that are copies of each other, this is original undisputed one.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "IssuingDisputeDuplicateEvidence",
        "type": "object",
        "x-expandableFields": ["additional_documentation", "card_statement", "cash_receipt", "check_image"]
      },
      "issuing_dispute_evidence": {
        "description": "",
        "properties": {
          "canceled": {
            "$ref": "#/components/schemas/issuing_dispute_canceled_evidence"
          },
          "duplicate": {
            "$ref": "#/components/schemas/issuing_dispute_duplicate_evidence"
          },
          "fraudulent": {
            "$ref": "#/components/schemas/issuing_dispute_fraudulent_evidence"
          },
          "merchandise_not_as_described": {
            "$ref": "#/components/schemas/issuing_dispute_merchandise_not_as_described_evidence"
          },
          "not_received": {
            "$ref": "#/components/schemas/issuing_dispute_not_received_evidence"
          },
          "other": {
            "$ref": "#/components/schemas/issuing_dispute_other_evidence"
          },
          "reason": {
            "description": "The reason for filing the dispute. Its value will match the field containing the evidence.",
            "enum": [
              "canceled",
              "duplicate",
              "fraudulent",
              "merchandise_not_as_described",
              "not_received",
              "other",
              "service_not_as_described"
            ],
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "service_not_as_described": {
            "$ref": "#/components/schemas/issuing_dispute_service_not_as_described_evidence"
          }
        },
        "required": ["reason"],
        "title": "IssuingDisputeEvidence",
        "type": "object",
        "x-expandableFields": [
          "canceled",
          "duplicate",
          "fraudulent",
          "merchandise_not_as_described",
          "not_received",
          "other",
          "service_not_as_described"
        ]
      },
      "issuing_dispute_fraudulent_evidence": {
        "description": "",
        "properties": {
          "additional_documentation": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "explanation": {
            "description": "Explanation of why the cardholder is disputing this transaction.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "IssuingDisputeFraudulentEvidence",
        "type": "object",
        "x-expandableFields": ["additional_documentation"]
      },
      "issuing_dispute_merchandise_not_as_described_evidence": {
        "description": "",
        "properties": {
          "additional_documentation": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "explanation": {
            "description": "Explanation of why the cardholder is disputing this transaction.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "received_at": {
            "description": "Date when the product was received.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "return_description": {
            "description": "Description of the cardholder's attempt to return the product.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "return_status": {
            "description": "Result of cardholder's attempt to return the product.",
            "enum": ["merchant_rejected", "successful"],
            "nullable": true,
            "type": "string"
          },
          "returned_at": {
            "description": "Date when the product was returned or attempted to be returned.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "IssuingDisputeMerchandiseNotAsDescribedEvidence",
        "type": "object",
        "x-expandableFields": ["additional_documentation"]
      },
      "issuing_dispute_not_received_evidence": {
        "description": "",
        "properties": {
          "additional_documentation": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "expected_at": {
            "description": "Date when the cardholder expected to receive the product.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "explanation": {
            "description": "Explanation of why the cardholder is disputing this transaction.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "product_description": {
            "description": "Description of the merchandise or service that was purchased.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "product_type": {
            "description": "Whether the product was a merchandise or service.",
            "enum": ["merchandise", "service"],
            "nullable": true,
            "type": "string"
          }
        },
        "title": "IssuingDisputeNotReceivedEvidence",
        "type": "object",
        "x-expandableFields": ["additional_documentation"]
      },
      "issuing_dispute_other_evidence": {
        "description": "",
        "properties": {
          "additional_documentation": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "explanation": {
            "description": "Explanation of why the cardholder is disputing this transaction.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "product_description": {
            "description": "Description of the merchandise or service that was purchased.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "product_type": {
            "description": "Whether the product was a merchandise or service.",
            "enum": ["merchandise", "service"],
            "nullable": true,
            "type": "string"
          }
        },
        "title": "IssuingDisputeOtherEvidence",
        "type": "object",
        "x-expandableFields": ["additional_documentation"]
      },
      "issuing_dispute_service_not_as_described_evidence": {
        "description": "",
        "properties": {
          "additional_documentation": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "(ID of a [file upload](https://stripe.com/docs/guides/file-upload)) Additional documentation supporting the dispute.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "canceled_at": {
            "description": "Date when order was canceled.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "cancellation_reason": {
            "description": "Reason for canceling the order.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "explanation": {
            "description": "Explanation of why the cardholder is disputing this transaction.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "received_at": {
            "description": "Date when the product was received.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "IssuingDisputeServiceNotAsDescribedEvidence",
        "type": "object",
        "x-expandableFields": ["additional_documentation"]
      },
      "issuing_transaction_amount_details": {
        "description": "",
        "properties": {
          "atm_fee": {
            "description": "The fee charged by the ATM for the cash withdrawal.",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "IssuingTransactionAmountDetails",
        "type": "object",
        "x-expandableFields": []
      },
      "issuing_transaction_flight_data": {
        "description": "",
        "properties": {
          "departure_at": {
            "description": "The time that the flight departed.",
            "nullable": true,
            "type": "integer"
          },
          "passenger_name": {
            "description": "The name of the passenger.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "refundable": {
            "description": "Whether the ticket is refundable.",
            "nullable": true,
            "type": "boolean"
          },
          "segments": {
            "description": "The legs of the trip.",
            "items": {
              "$ref": "#/components/schemas/issuing_transaction_flight_data_leg"
            },
            "nullable": true,
            "type": "array"
          },
          "travel_agency": {
            "description": "The travel agency that issued the ticket.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "IssuingTransactionFlightData",
        "type": "object",
        "x-expandableFields": ["segments"]
      },
      "issuing_transaction_flight_data_leg": {
        "description": "",
        "properties": {
          "arrival_airport_code": {
            "description": "The three-letter IATA airport code of the flight's destination.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "carrier": {
            "description": "The airline carrier code.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "departure_airport_code": {
            "description": "The three-letter IATA airport code that the flight departed from.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "flight_number": {
            "description": "The flight number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "service_class": {
            "description": "The flight's service class.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "stopover_allowed": {
            "description": "Whether a stopover is allowed on this flight.",
            "nullable": true,
            "type": "boolean"
          }
        },
        "title": "IssuingTransactionFlightDataLeg",
        "type": "object",
        "x-expandableFields": []
      },
      "issuing_transaction_fuel_data": {
        "description": "",
        "properties": {
          "type": {
            "description": "The type of fuel that was purchased. One of `diesel`, `unleaded_plus`, `unleaded_regular`, `unleaded_super`, or `other`.",
            "maxLength": 5000,
            "type": "string"
          },
          "unit": {
            "description": "The units for `volume_decimal`. One of `us_gallon` or `liter`.",
            "maxLength": 5000,
            "type": "string"
          },
          "unit_cost_decimal": {
            "description": "The cost in cents per each unit of fuel, represented as a decimal string with at most 12 decimal places.",
            "format": "decimal",
            "type": "string"
          },
          "volume_decimal": {
            "description": "The volume of the fuel that was pumped, represented as a decimal string with at most 12 decimal places.",
            "format": "decimal",
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["type", "unit", "unit_cost_decimal"],
        "title": "IssuingTransactionFuelData",
        "type": "object",
        "x-expandableFields": []
      },
      "issuing_transaction_lodging_data": {
        "description": "",
        "properties": {
          "check_in_at": {
            "description": "The time of checking into the lodging.",
            "nullable": true,
            "type": "integer"
          },
          "nights": {
            "description": "The number of nights stayed at the lodging.",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "IssuingTransactionLodgingData",
        "type": "object",
        "x-expandableFields": []
      },
      "issuing_transaction_purchase_details": {
        "description": "",
        "properties": {
          "flight": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_transaction_flight_data"
              }
            ],
            "description": "Information about the flight that was purchased with this transaction.",
            "nullable": true
          },
          "fuel": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_transaction_fuel_data"
              }
            ],
            "description": "Information about fuel that was purchased with this transaction.",
            "nullable": true
          },
          "lodging": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/issuing_transaction_lodging_data"
              }
            ],
            "description": "Information about lodging that was purchased with this transaction.",
            "nullable": true
          },
          "receipt": {
            "description": "The line items in the purchase.",
            "items": {
              "$ref": "#/components/schemas/issuing_transaction_receipt_data"
            },
            "nullable": true,
            "type": "array"
          },
          "reference": {
            "description": "A merchant-specific order number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "IssuingTransactionPurchaseDetails",
        "type": "object",
        "x-expandableFields": ["flight", "fuel", "lodging", "receipt"]
      },
      "issuing_transaction_receipt_data": {
        "description": "",
        "properties": {
          "description": {
            "description": "The description of the item. The maximum length of this field is 26 characters.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "quantity": {
            "description": "The quantity of the item.",
            "nullable": true,
            "type": "number"
          },
          "total": {
            "description": "The total for this line item in cents.",
            "nullable": true,
            "type": "integer"
          },
          "unit_cost": {
            "description": "The unit cost of the item in cents.",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "IssuingTransactionReceiptData",
        "type": "object",
        "x-expandableFields": []
      },
      "item": {
        "description": "A line item.",
        "properties": {
          "amount_subtotal": {
            "description": "Total before any discounts or taxes are applied.",
            "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).",
            "type": "string"
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users. Defaults to product name.",
            "maxLength": 5000,
            "type": "string"
          },
          "discounts": {
            "description": "The discounts applied to the line item.",
            "items": {
              "$ref": "#/components/schemas/line_items_discount_amount"
            },
            "type": "array"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "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": {
              "$ref": "#/components/schemas/line_items_tax_amount"
            },
            "type": "array"
          }
        },
        "required": ["amount_subtotal", "amount_total", "currency", "description", "id", "object"],
        "title": "LineItem",
        "type": "object",
        "x-expandableFields": ["discounts", "price", "taxes"],
        "x-resourceId": "item"
      },
      "legal_entity_company": {
        "description": "",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/address"
          },
          "address_kana": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/legal_entity_japan_address"
              }
            ],
            "description": "The Kana variation of the company's primary address (Japan only).",
            "nullable": true
          },
          "address_kanji": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/legal_entity_japan_address"
              }
            ],
            "description": "The Kanji variation of the company's primary address (Japan only).",
            "nullable": true
          },
          "directors_provided": {
            "description": "Whether the company's directors have been provided. This Boolean will be `true` if you've manually indicated that all directors are provided via [the `directors_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-directors_provided).",
            "type": "boolean"
          },
          "executives_provided": {
            "description": "Whether the company's executives have been provided. This Boolean will be `true` if you've manually indicated that all executives are provided via [the `executives_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-executives_provided), or if Stripe determined that sufficient executives were provided.",
            "type": "boolean"
          },
          "name": {
            "description": "The company's legal name.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "name_kana": {
            "description": "The Kana variation of the company's legal name (Japan only).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "name_kanji": {
            "description": "The Kanji variation of the company's legal name (Japan only).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "owners_provided": {
            "description": "Whether the company's owners have been provided. This Boolean will be `true` if you've manually indicated that all owners are provided via [the `owners_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-owners_provided), or if Stripe determined that sufficient owners were provided. Stripe determines ownership requirements using both the number of owners provided and their total percent ownership (calculated by adding the `percent_ownership` of each owner together).",
            "type": "boolean"
          },
          "phone": {
            "description": "The company's phone number (used for verification).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "structure": {
            "description": "The category identifying the legal structure of the company or legal entity. See [Business structure](https://stripe.com/docs/connect/identity-verification#business-structure) for more details.",
            "enum": [
              "government_instrumentality",
              "governmental_unit",
              "incorporated_non_profit",
              "limited_liability_partnership",
              "multi_member_llc",
              "private_company",
              "private_corporation",
              "private_partnership",
              "public_company",
              "public_corporation",
              "public_partnership",
              "sole_proprietorship",
              "tax_exempt_government_instrumentality",
              "unincorporated_association",
              "unincorporated_non_profit"
            ],
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "tax_id_provided": {
            "description": "Whether the company's business ID number was provided.",
            "type": "boolean"
          },
          "tax_id_registrar": {
            "description": "The jurisdiction in which the `tax_id` is registered (Germany-based companies only).",
            "maxLength": 5000,
            "type": "string"
          },
          "vat_id_provided": {
            "description": "Whether the company's business VAT number was provided.",
            "type": "boolean"
          },
          "verification": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/legal_entity_company_verification"
              }
            ],
            "description": "Information on the verification state of the company.",
            "nullable": true
          }
        },
        "title": "LegalEntityCompany",
        "type": "object",
        "x-expandableFields": ["address", "address_kana", "address_kanji", "verification"]
      },
      "legal_entity_company_verification": {
        "description": "",
        "properties": {
          "document": {
            "$ref": "#/components/schemas/legal_entity_company_verification_document"
          }
        },
        "required": ["document"],
        "title": "LegalEntityCompanyVerification",
        "type": "object",
        "x-expandableFields": ["document"]
      },
      "legal_entity_company_verification_document": {
        "description": "",
        "properties": {
          "back": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "details": {
            "description": "A user-displayable string describing the verification state of this document.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "details_code": {
            "description": "One of `document_corrupt`, `document_expired`, `document_failed_copy`, `document_failed_greyscale`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_not_readable`, `document_not_uploaded`, `document_type_not_supported`, or `document_too_large`. A machine-readable code specifying the verification state for this document.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "front": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          }
        },
        "title": "LegalEntityCompanyVerificationDocument",
        "type": "object",
        "x-expandableFields": ["back", "front"]
      },
      "legal_entity_dob": {
        "description": "",
        "properties": {
          "day": {
            "description": "The day of birth, between 1 and 31.",
            "nullable": true,
            "type": "integer"
          },
          "month": {
            "description": "The month of birth, between 1 and 12.",
            "nullable": true,
            "type": "integer"
          },
          "year": {
            "description": "The four-digit year of birth.",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "LegalEntityDOB",
        "type": "object",
        "x-expandableFields": []
      },
      "legal_entity_japan_address": {
        "description": "",
        "properties": {
          "city": {
            "description": "City/Ward.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "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"
          },
          "line1": {
            "description": "Block/Building number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "line2": {
            "description": "Building details.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "postal_code": {
            "description": "ZIP or postal code.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "state": {
            "description": "Prefecture.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "town": {
            "description": "Town/cho-me.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "LegalEntityJapanAddress",
        "type": "object",
        "x-expandableFields": []
      },
      "legal_entity_person_verification": {
        "description": "",
        "properties": {
          "additional_document": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/legal_entity_person_verification_document"
              }
            ],
            "description": "A document showing address, either a passport, local ID card, or utility bill from a well-known utility company.",
            "nullable": true
          },
          "details": {
            "description": "A user-displayable string describing the verification state for the person. For example, this may say \"Provided identity information could not be verified\".",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "details_code": {
            "description": "One of `document_address_mismatch`, `document_dob_mismatch`, `document_duplicate_type`, `document_id_number_mismatch`, `document_name_mismatch`, `document_nationality_mismatch`, `failed_keyed_identity`, or `failed_other`. A machine-readable code specifying the verification state for the person.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "document": {
            "$ref": "#/components/schemas/legal_entity_person_verification_document"
          },
          "status": {
            "description": "The state of verification for the person. Possible values are `unverified`, `pending`, or `verified`.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["status"],
        "title": "LegalEntityPersonVerification",
        "type": "object",
        "x-expandableFields": ["additional_document", "document"]
      },
      "legal_entity_person_verification_document": {
        "description": "",
        "properties": {
          "back": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "The back of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          },
          "details": {
            "description": "A user-displayable string describing the verification state of this document. For example, if a document is uploaded and the picture is too fuzzy, this may say \"Identity document is too unclear to read\".",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "details_code": {
            "description": "One of `document_corrupt`, `document_country_not_supported`, `document_expired`, `document_failed_copy`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_failed_greyscale`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_missing_back`, `document_missing_front`, `document_not_readable`, `document_not_uploaded`, `document_photo_mismatch`, `document_too_large`, or `document_type_not_supported`. A machine-readable code specifying the verification state for this document.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "front": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "The front of an ID returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `identity_document`.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/file"
                }
              ]
            }
          }
        },
        "title": "LegalEntityPersonVerificationDocument",
        "type": "object",
        "x-expandableFields": ["back", "front"]
      },
      "light_account_logout": {
        "description": "",
        "properties": {},
        "title": "LightAccountLogout",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "light_account_logout"
      },
      "line_item": {
        "description": "",
        "properties": {
          "amount": {
            "description": "The amount, in %s.",
            "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).",
            "type": "string"
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "discount_amounts": {
            "description": "The amount of discount calculated per discount for this line item.",
            "items": {
              "$ref": "#/components/schemas/discounts_resource_discount_amount"
            },
            "nullable": true,
            "type": "array"
          },
          "discountable": {
            "description": "If true, discounts will apply to this line item. Always false for prorations.",
            "type": "boolean"
          },
          "discounts": {
            "description": "The discounts applied to the invoice line item. Line item discounts are applied before invoice discounts. Use `expand[]=discounts` to expand each discount.",
            "items": {
              "anyOf": [
                {
                  "maxLength": 5000,
                  "type": "string"
                },
                {
                  "$ref": "#/components/schemas/discount"
                }
              ],
              "x-expansionResources": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/discount"
                  }
                ]
              }
            },
            "nullable": true,
            "type": "array"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "invoice_item": {
            "description": "The ID of the [invoice item](https://stripe.com/docs/api/invoiceitems) associated with this line item if any.",
            "maxLength": 5000,
            "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://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. Note that for line items with `type=subscription` this will reflect the metadata of the subscription that caused the line item to be created.",
            "type": "object"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["line_item"],
            "type": "string"
          },
          "period": {
            "$ref": "#/components/schemas/invoice_line_item_period"
          },
          "price": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/price"
              }
            ],
            "description": "The price of the line item.",
            "nullable": true
          },
          "proration": {
            "description": "Whether this is a proration.",
            "type": "boolean"
          },
          "quantity": {
            "description": "The quantity of the subscription, if the line item is a subscription or a proration.",
            "nullable": true,
            "type": "integer"
          },
          "subscription": {
            "description": "The subscription that the invoice item pertains to, if any.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "subscription_item": {
            "description": "The subscription item that generated this invoice item. Left empty if the line item is not an explicit result of a subscription.",
            "maxLength": 5000,
            "type": "string"
          },
          "tax_amounts": {
            "description": "The amount of tax calculated per tax rate for this line item",
            "items": {
              "$ref": "#/components/schemas/invoice_tax_amount"
            },
            "type": "array"
          },
          "tax_rates": {
            "description": "The tax rates which apply to the line item.",
            "items": {
              "$ref": "#/components/schemas/tax_rate"
            },
            "type": "array"
          },
          "type": {
            "description": "A string identifying the type of the source of this line item, either an `invoiceitem` or a `subscription`.",
            "enum": ["invoiceitem", "subscription"],
            "type": "string"
          }
        },
        "required": [
          "amount",
          "currency",
          "discountable",
          "id",
          "livemode",
          "metadata",
          "object",
          "period",
          "proration",
          "type"
        ],
        "title": "InvoiceLineItem",
        "type": "object",
        "x-expandableFields": ["discount_amounts", "discounts", "period", "price", "tax_amounts", "tax_rates"],
        "x-resourceId": "line_item"
      },
      "line_items_discount_amount": {
        "description": "",
        "properties": {
          "amount": {
            "description": "The amount discounted.",
            "type": "integer"
          },
          "discount": {
            "$ref": "#/components/schemas/discount"
          }
        },
        "required": ["amount", "discount"],
        "title": "LineItemsDiscountAmount",
        "type": "object",
        "x-expandableFields": ["discount"]
      },
      "line_items_tax_amount": {
        "description": "",
        "properties": {
          "amount": {
            "description": "Amount of tax applied for this rate.",
            "type": "integer"
          },
          "rate": {
            "$ref": "#/components/schemas/tax_rate"
          }
        },
        "required": ["amount", "rate"],
        "title": "LineItemsTaxAmount",
        "type": "object",
        "x-expandableFields": ["rate"]
      },
      "login_link": {
        "description": "",
        "properties": {
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["login_link"],
            "type": "string"
          },
          "url": {
            "description": "The URL for the login link.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["created", "object", "url"],
        "title": "LoginLink",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "login_link"
      },
      "mandate": {
        "description": "A Mandate is a record of the permission a customer has given you to debit their payment method.",
        "properties": {
          "customer_acceptance": {
            "$ref": "#/components/schemas/customer_acceptance"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "multi_use": {
            "$ref": "#/components/schemas/mandate_multi_use"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["mandate"],
            "type": "string"
          },
          "payment_method": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "ID of the payment method associated with this mandate.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "payment_method_details": {
            "$ref": "#/components/schemas/mandate_payment_method_details"
          },
          "single_use": {
            "$ref": "#/components/schemas/mandate_single_use"
          },
          "status": {
            "description": "The status of the mandate, which indicates whether it can be used to initiate a payment.",
            "enum": ["active", "inactive", "pending"],
            "type": "string"
          },
          "type": {
            "description": "The type of the mandate.",
            "enum": ["multi_use", "single_use"],
            "type": "string"
          }
        },
        "required": [
          "customer_acceptance",
          "id",
          "livemode",
          "object",
          "payment_method",
          "payment_method_details",
          "status",
          "type"
        ],
        "title": "Mandate",
        "type": "object",
        "x-expandableFields": [
          "customer_acceptance",
          "multi_use",
          "payment_method",
          "payment_method_details",
          "single_use"
        ],
        "x-resourceId": "mandate"
      },
      "mandate_au_becs_debit": {
        "description": "",
        "properties": {
          "url": {
            "description": "The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["url"],
        "title": "mandate_au_becs_debit",
        "type": "object",
        "x-expandableFields": []
      },
      "mandate_bacs_debit": {
        "description": "",
        "properties": {
          "network_status": {
            "description": "The status of the mandate on the Bacs network. Can be one of `pending`, `revoked`, `refused`, or `accepted`.",
            "enum": ["accepted", "pending", "refused", "revoked"],
            "type": "string"
          },
          "reference": {
            "description": "The unique reference identifying the mandate on the Bacs network.",
            "maxLength": 5000,
            "type": "string"
          },
          "url": {
            "description": "The URL that will contain the mandate that the customer has signed.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["network_status", "reference", "url"],
        "title": "mandate_bacs_debit",
        "type": "object",
        "x-expandableFields": []
      },
      "mandate_multi_use": {
        "description": "",
        "properties": {},
        "title": "mandate_multi_use",
        "type": "object",
        "x-expandableFields": []
      },
      "mandate_payment_method_details": {
        "description": "",
        "properties": {
          "au_becs_debit": {
            "$ref": "#/components/schemas/mandate_au_becs_debit"
          },
          "bacs_debit": {
            "$ref": "#/components/schemas/mandate_bacs_debit"
          },
          "card": {
            "$ref": "#/components/schemas/card_mandate_payment_method_details"
          },
          "sepa_debit": {
            "$ref": "#/components/schemas/mandate_sepa_debit"
          },
          "type": {
            "description": "The type of the payment method associated with this mandate. An additional hash is included on `payment_method_details` with a name matching this value. It contains mandate information specific to the payment method.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["type"],
        "title": "mandate_payment_method_details",
        "type": "object",
        "x-expandableFields": ["au_becs_debit", "bacs_debit", "card", "sepa_debit"]
      },
      "mandate_sepa_debit": {
        "description": "",
        "properties": {
          "reference": {
            "description": "The unique reference of the mandate.",
            "maxLength": 5000,
            "type": "string"
          },
          "url": {
            "description": "The URL of the mandate. This URL generally contains sensitive information about the customer and should be shared with them exclusively.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["reference", "url"],
        "title": "mandate_sepa_debit",
        "type": "object",
        "x-expandableFields": []
      },
      "mandate_single_use": {
        "description": "",
        "properties": {
          "amount": {
            "description": "On a single use mandate, the amount of the payment.",
            "type": "integer"
          },
          "currency": {
            "description": "On a single use mandate, the currency of the payment.",
            "type": "string"
          }
        },
        "required": ["amount", "currency"],
        "title": "mandate_single_use",
        "type": "object",
        "x-expandableFields": []
      },
      "networks": {
        "description": "",
        "properties": {
          "available": {
            "description": "All available networks for the card.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "preferred": {
            "description": "The preferred network for the card.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["available"],
        "title": "networks",
        "type": "object",
        "x-expandableFields": []
      },
      "notification_event_data": {
        "description": "",
        "properties": {
          "object": {
            "description": "Object containing the API resource relevant to the event. For example, an `invoice.created` event will have a full [invoice object](https://stripe.com/docs/api#invoice_object) as the value of the object key.",
            "type": "object"
          },
          "previous_attributes": {
            "description": "Object containing the names of the attributes that have changed, and their previous values (sent along only with *.updated events).",
            "type": "object"
          }
        },
        "required": ["object"],
        "title": "NotificationEventData",
        "type": "object",
        "x-expandableFields": []
      },
      "notification_event_request": {
        "description": "",
        "properties": {
          "id": {
            "description": "ID of the API request that caused the event. If null, the event was automatic (e.g., Stripe's automatic subscription handling). Request logs are available in the [dashboard](https://dashboard.stripe.com/logs), but currently not in the API.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "idempotency_key": {
            "description": "The idempotency key transmitted during the request, if any. *Note: This property is populated only for events on or after May 23, 2017*.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "NotificationEventRequest",
        "type": "object",
        "x-expandableFields": []
      },
      "offline_acceptance": {
        "description": "",
        "properties": {},
        "title": "offline_acceptance",
        "type": "object",
        "x-expandableFields": []
      },
      "online_acceptance": {
        "description": "",
        "properties": {
          "ip_address": {
            "description": "The IP address from which the Mandate was accepted by the customer.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "user_agent": {
            "description": "The user agent of the browser from which the Mandate was accepted by the customer.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "online_acceptance",
        "type": "object",
        "x-expandableFields": []
      },
      "order": {
        "description": "Order objects are created to handle end customers' purchases of previously\ndefined [products](https://stripe.com/docs/api#products). You can create, retrieve, and pay individual orders, as well\nas list all orders. Orders are identified by a unique, random ID.\n\nRelated guide: [Tax, Shipping, and Inventory](https://stripe.com/docs/orders).",
        "properties": {
          "amount": {
            "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the order.",
            "type": "integer"
          },
          "amount_returned": {
            "description": "The total amount that was returned to the customer.",
            "nullable": true,
            "type": "integer"
          },
          "application": {
            "description": "ID of the Connect Application that created the order.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "application_fee": {
            "description": "A fee in cents that will be applied to the order and transferred to the application owner’s Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees documentation.",
            "nullable": true,
            "type": "integer"
          },
          "charge": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/charge"
              }
            ],
            "description": "The ID of the payment used to pay for the order. Present if the order status is `paid`, `fulfilled`, or `refunded`.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/charge"
                }
              ]
            }
          },
          "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).",
            "type": "string"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "The customer used for the order.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "email": {
            "description": "The email address of the customer placing the order.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "external_coupon_code": {
            "description": "External coupon code to load for this order.",
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "items": {
            "description": "List of items constituting the order. An order can have up to 25 items.",
            "items": {
              "$ref": "#/components/schemas/order_item"
            },
            "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.",
            "nullable": true,
            "type": "object"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["order"],
            "type": "string"
          },
          "returns": {
            "description": "A list of returns that have taken place for this order.",
            "nullable": true,
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "$ref": "#/components/schemas/order_return"
                },
                "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": "OrdersResourceOrderReturnList",
            "type": "object",
            "x-expandableFields": ["data"]
          },
          "selected_shipping_method": {
            "description": "The shipping method that is currently selected for this order, if any. If present, it is equal to one of the `id`s of shipping methods in the `shipping_methods` array. At order creation time, if there are multiple shipping methods, Stripe will automatically selected the first method.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "shipping": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/shipping"
              }
            ],
            "description": "The shipping address for the order. Present if the order is for goods to be shipped.",
            "nullable": true
          },
          "shipping_methods": {
            "description": "A list of supported shipping methods for this order. The desired shipping method can be specified either by updating the order, or when paying it.",
            "items": {
              "$ref": "#/components/schemas/shipping_method"
            },
            "nullable": true,
            "type": "array"
          },
          "status": {
            "description": "Current order status. One of `created`, `paid`, `canceled`, `fulfilled`, or `returned`. More details in the [Orders Guide](https://stripe.com/docs/orders/guide#understanding-order-statuses).",
            "maxLength": 5000,
            "type": "string"
          },
          "status_transitions": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/status_transitions"
              }
            ],
            "description": "The timestamps at which the order status was updated.",
            "nullable": true
          },
          "updated": {
            "description": "Time at which the object was last updated. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "upstream_id": {
            "description": "The user's order ID if it is different from the Stripe order ID.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["amount", "created", "currency", "id", "items", "livemode", "object", "status"],
        "title": "Order",
        "type": "object",
        "x-expandableFields": [
          "charge",
          "customer",
          "items",
          "returns",
          "shipping",
          "shipping_methods",
          "status_transitions"
        ],
        "x-resourceId": "order"
      },
      "order_item": {
        "description": "A representation of the constituent items of any given order. Can be used to\nrepresent [SKUs](https://stripe.com/docs/api#skus), shipping costs, or taxes owed on the order.\n\nRelated guide: [Orders](https://stripe.com/docs/orders/guide).",
        "properties": {
          "amount": {
            "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the line item.",
            "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).",
            "type": "string"
          },
          "description": {
            "description": "Description of the line item, meant to be displayable to the user (e.g., `\"Express shipping\"`).",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["order_item"],
            "type": "string"
          },
          "parent": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/sku"
              }
            ],
            "description": "The ID of the associated object for this line item. Expandable if not null (e.g., expandable to a SKU).",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/sku"
                }
              ]
            }
          },
          "quantity": {
            "description": "A positive integer representing the number of instances of `parent` that are included in this order item. Applicable/present only if `type` is `sku`.",
            "nullable": true,
            "type": "integer"
          },
          "type": {
            "description": "The type of line item. One of `sku`, `tax`, `shipping`, or `discount`.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["amount", "currency", "description", "object", "type"],
        "title": "OrderItem",
        "type": "object",
        "x-expandableFields": ["parent"]
      },
      "order_return": {
        "description": "A return represents the full or partial return of a number of [order items](https://stripe.com/docs/api#order_items).\nReturns always belong to an order, and may optionally contain a refund.\n\nRelated guide: [Handling Returns](https://stripe.com/docs/orders/guide#handling-returns).",
        "properties": {
          "amount": {
            "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the returned line item.",
            "type": "integer"
          },
          "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).",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "items": {
            "description": "The items included in this order return.",
            "items": {
              "$ref": "#/components/schemas/order_item"
            },
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["order_return"],
            "type": "string"
          },
          "order": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/order"
              }
            ],
            "description": "The order that this return includes items from.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/order"
                }
              ]
            }
          },
          "refund": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/refund"
              }
            ],
            "description": "The ID of the refund issued for this return.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/refund"
                }
              ]
            }
          }
        },
        "required": ["amount", "created", "currency", "id", "items", "livemode", "object"],
        "title": "OrderReturn",
        "type": "object",
        "x-expandableFields": ["items", "order", "refund"],
        "x-resourceId": "order_return"
      },
      "package_dimensions": {
        "description": "",
        "properties": {
          "height": {
            "description": "Height, in inches.",
            "type": "number"
          },
          "length": {
            "description": "Length, in inches.",
            "type": "number"
          },
          "weight": {
            "description": "Weight, in ounces.",
            "type": "number"
          },
          "width": {
            "description": "Width, in inches.",
            "type": "number"
          }
        },
        "required": ["height", "length", "weight", "width"],
        "title": "PackageDimensions",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_flows_private_payment_methods_alipay": {
        "description": "",
        "properties": {},
        "title": "PaymentFlowsPrivatePaymentMethodsAlipay",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_flows_private_payment_methods_alipay_details": {
        "description": "",
        "properties": {
          "fingerprint": {
            "description": "Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "transaction_id": {
            "description": "Transaction ID of this particular Alipay transaction.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "PaymentFlowsPrivatePaymentMethodsAlipayDetails",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_intent": {
        "description": "A PaymentIntent guides you through the process of collecting a payment from your customer.\nWe recommend that you create exactly one PaymentIntent for each order or\ncustomer session in your system. You can reference the PaymentIntent later to\nsee the history of payment attempts for a particular session.\n\nA PaymentIntent transitions through\n[multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses)\nthroughout its lifetime as it interfaces with Stripe.js to perform\nauthentication flows and ultimately creates at most one successful charge.\n\nRelated guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents).",
        "properties": {
          "amount": {
            "description": "Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).",
            "type": "integer"
          },
          "amount_capturable": {
            "description": "Amount that can be captured from this PaymentIntent.",
            "type": "integer"
          },
          "amount_received": {
            "description": "Amount that was collected by this PaymentIntent.",
            "type": "integer"
          },
          "application": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/application"
              }
            ],
            "description": "ID of the Connect application that created the PaymentIntent.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/application"
                }
              ]
            }
          },
          "application_fee_amount": {
            "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
            "nullable": true,
            "type": "integer"
          },
          "canceled_at": {
            "description": "Populated when `status` is `canceled`, this is the time at which the PaymentIntent was canceled. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "cancellation_reason": {
            "description": "Reason for cancellation of this PaymentIntent, either user-provided (`duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned`) or generated by Stripe internally (`failed_invoice`, `void_invoice`, or `automatic`).",
            "enum": [
              "abandoned",
              "automatic",
              "duplicate",
              "failed_invoice",
              "fraudulent",
              "requested_by_customer",
              "void_invoice"
            ],
            "nullable": true,
            "type": "string"
          },
          "capture_method": {
            "description": "Controls when the funds will be captured from the customer's account.",
            "enum": ["automatic", "manual"],
            "type": "string"
          },
          "charges": {
            "description": "Charges that were created by this PaymentIntent, if any.",
            "properties": {
              "data": {
                "description": "This list only contains the latest charge, even if there were previously multiple unsuccessful charges. To view all previous charges for a PaymentIntent, you can filter the charges list using the `payment_intent` [parameter](https://stripe.com/docs/api/charges/list#list_charges-payment_intent).",
                "items": {
                  "$ref": "#/components/schemas/charge"
                },
                "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": "PaymentFlowsPaymentIntentResourceChargeList",
            "type": "object",
            "x-expandableFields": ["data"]
          },
          "client_secret": {
            "description": "The client secret of this PaymentIntent. Used for client-side retrieval using a publishable key. \n\nThe client secret can be used to complete a payment from your frontend. It should not be stored, logged, embedded in URLs, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.\n\nRefer to our docs to [accept a payment](https://stripe.com/docs/payments/accept-a-payment?integration=elements) and learn about how `client_secret` should be handled.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "confirmation_method": {
            "enum": ["automatic", "manual"],
            "type": "string"
          },
          "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).",
            "type": "string"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "ID of the Customer this PaymentIntent belongs to, if one exists.\n\nPayment methods attached to other Customers cannot be used with this PaymentIntent.\n\nIf present in combination with [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage), this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "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 that created this PaymentIntent, if it exists.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/invoice"
                }
              ]
            }
          },
          "last_payment_error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/api_errors"
              }
            ],
            "description": "The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if the PaymentIntent is later updated for any reason.",
            "nullable": true
          },
          "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. For more information, see the [documentation](https://stripe.com/docs/payments/payment-intents/creating-payment-intents#storing-information-in-metadata).",
            "type": "object"
          },
          "next_action": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_intent_next_action"
              }
            ],
            "description": "If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source.",
            "nullable": true
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["payment_intent"],
            "type": "string"
          },
          "on_behalf_of": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "The account (if any) for which the funds of the PaymentIntent are intended. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          },
          "payment_method": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "ID of the payment method used in this PaymentIntent.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "payment_method_options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_intent_payment_method_options"
              }
            ],
            "description": "Payment-method-specific configuration for this PaymentIntent.",
            "nullable": true
          },
          "payment_method_types": {
            "description": "The list of payment method types (e.g. card) that this PaymentIntent is allowed to use.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "receipt_email": {
            "description": "Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "review": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/review"
              }
            ],
            "description": "ID of the review associated with this PaymentIntent, if any.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/review"
                }
              ]
            }
          },
          "setup_future_usage": {
            "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nProviding this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.\n\nWhen processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).",
            "enum": ["off_session", "on_session"],
            "nullable": true,
            "type": "string"
          },
          "shipping": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/shipping"
              }
            ],
            "description": "Shipping information for this PaymentIntent.",
            "nullable": true
          },
          "statement_descriptor": {
            "description": "For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "statement_descriptor_suffix": {
            "description": "Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "status": {
            "description": "Status of this PaymentIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `requires_capture`, `canceled`, or `succeeded`. Read more about each PaymentIntent [status](https://stripe.com/docs/payments/intents#intent-statuses).",
            "enum": [
              "canceled",
              "processing",
              "requires_action",
              "requires_capture",
              "requires_confirmation",
              "requires_payment_method",
              "succeeded"
            ],
            "type": "string"
          },
          "transfer_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/transfer_data"
              }
            ],
            "description": "The data with which to automatically create a Transfer when the payment is finalized. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details.",
            "nullable": true
          },
          "transfer_group": {
            "description": "A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "amount",
          "capture_method",
          "confirmation_method",
          "created",
          "currency",
          "id",
          "livemode",
          "object",
          "payment_method_types",
          "status"
        ],
        "title": "PaymentIntent",
        "type": "object",
        "x-expandableFields": [
          "application",
          "charges",
          "customer",
          "invoice",
          "last_payment_error",
          "next_action",
          "on_behalf_of",
          "payment_method",
          "payment_method_options",
          "review",
          "shipping",
          "transfer_data"
        ],
        "x-resourceId": "payment_intent"
      },
      "payment_intent_next_action": {
        "description": "",
        "properties": {
          "alipay_handle_redirect": {
            "$ref": "#/components/schemas/payment_intent_next_action_alipay_handle_redirect"
          },
          "oxxo_display_details": {
            "$ref": "#/components/schemas/payment_intent_next_action_display_oxxo_details"
          },
          "redirect_to_url": {
            "$ref": "#/components/schemas/payment_intent_next_action_redirect_to_url"
          },
          "type": {
            "description": "Type of the next action to perform, one of `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, or `oxxo_display_details`.",
            "maxLength": 5000,
            "type": "string"
          },
          "use_stripe_sdk": {
            "description": "When confirming a PaymentIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js.",
            "type": "object"
          }
        },
        "required": ["type"],
        "title": "PaymentIntentNextAction",
        "type": "object",
        "x-expandableFields": ["alipay_handle_redirect", "oxxo_display_details", "redirect_to_url"]
      },
      "payment_intent_next_action_alipay_handle_redirect": {
        "description": "",
        "properties": {
          "native_data": {
            "description": "The native data to be used with Alipay SDK you must redirect your customer to in order to authenticate the payment in an Android App.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "native_url": {
            "description": "The native URL you must redirect your customer to in order to authenticate the payment in an iOS App.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "return_url": {
            "description": "If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "url": {
            "description": "The URL you must redirect your customer to in order to authenticate the payment.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "PaymentIntentNextActionAlipayHandleRedirect",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_intent_next_action_display_oxxo_details": {
        "description": "",
        "properties": {
          "expires_after": {
            "description": "The timestamp after which the OXXO voucher expires.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "hosted_voucher_url": {
            "description": "The URL for the hosted OXXO voucher page, which allows customers to view and print an OXXO voucher.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "number": {
            "description": "OXXO reference number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "PaymentIntentNextActionDisplayOxxoDetails",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_intent_next_action_redirect_to_url": {
        "description": "",
        "properties": {
          "return_url": {
            "description": "If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "url": {
            "description": "The URL you must redirect your customer to in order to authenticate the payment.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "PaymentIntentNextActionRedirectToUrl",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_intent_payment_method_options": {
        "description": "",
        "properties": {
          "alipay": {
            "$ref": "#/components/schemas/payment_method_options_alipay"
          },
          "bancontact": {
            "$ref": "#/components/schemas/payment_method_options_bancontact"
          },
          "card": {
            "$ref": "#/components/schemas/payment_intent_payment_method_options_card"
          },
          "oxxo": {
            "$ref": "#/components/schemas/payment_method_options_oxxo"
          },
          "p24": {
            "$ref": "#/components/schemas/payment_method_options_p24"
          },
          "sepa_debit": {
            "$ref": "#/components/schemas/payment_intent_payment_method_options_sepa_debit"
          },
          "sofort": {
            "$ref": "#/components/schemas/payment_method_options_sofort"
          }
        },
        "title": "PaymentIntentPaymentMethodOptions",
        "type": "object",
        "x-expandableFields": ["alipay", "bancontact", "card", "oxxo", "p24", "sepa_debit", "sofort"]
      },
      "payment_intent_payment_method_options_card": {
        "description": "",
        "properties": {
          "installments": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_method_options_card_installments"
              }
            ],
            "description": "Installment details for this payment (Mexico only).\n\nFor more information, see the [installments integration guide](https://stripe.com/docs/payments/installments).",
            "nullable": true
          },
          "network": {
            "description": "Selected network to process this PaymentIntent on. Depends on the available networks of the card attached to the PaymentIntent. Can be only set confirm-time.",
            "enum": [
              "amex",
              "cartes_bancaires",
              "diners",
              "discover",
              "interac",
              "jcb",
              "mastercard",
              "unionpay",
              "unknown",
              "visa"
            ],
            "nullable": true,
            "type": "string"
          },
          "request_three_d_secure": {
            "description": "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Permitted values include: `automatic` or `any`. If not provided, defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.",
            "enum": ["any", "automatic", "challenge_only"],
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_intent_payment_method_options_card",
        "type": "object",
        "x-expandableFields": ["installments"]
      },
      "payment_intent_payment_method_options_mandate_options_sepa_debit": {
        "description": "",
        "properties": {},
        "title": "payment_intent_payment_method_options_mandate_options_sepa_debit",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_intent_payment_method_options_sepa_debit": {
        "description": "",
        "properties": {
          "mandate_options": {
            "$ref": "#/components/schemas/payment_intent_payment_method_options_mandate_options_sepa_debit"
          }
        },
        "title": "payment_intent_payment_method_options_sepa_debit",
        "type": "object",
        "x-expandableFields": ["mandate_options"]
      },
      "payment_method": {
        "description": "PaymentMethod objects represent your customer's payment instruments.\nThey can be used with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or saved to\nCustomer objects to store instrument details for future payments.\n\nRelated guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios).",
        "properties": {
          "afterpay_clearpay": {
            "$ref": "#/components/schemas/payment_method_afterpay_clearpay"
          },
          "alipay": {
            "$ref": "#/components/schemas/payment_flows_private_payment_methods_alipay"
          },
          "au_becs_debit": {
            "$ref": "#/components/schemas/payment_method_au_becs_debit"
          },
          "bacs_debit": {
            "$ref": "#/components/schemas/payment_method_bacs_debit"
          },
          "bancontact": {
            "$ref": "#/components/schemas/payment_method_bancontact"
          },
          "billing_details": {
            "$ref": "#/components/schemas/billing_details"
          },
          "card": {
            "$ref": "#/components/schemas/payment_method_card"
          },
          "card_present": {
            "$ref": "#/components/schemas/payment_method_card_present"
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              }
            ],
            "description": "The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                }
              ]
            }
          },
          "eps": {
            "$ref": "#/components/schemas/payment_method_eps"
          },
          "fpx": {
            "$ref": "#/components/schemas/payment_method_fpx"
          },
          "giropay": {
            "$ref": "#/components/schemas/payment_method_giropay"
          },
          "grabpay": {
            "$ref": "#/components/schemas/payment_method_grabpay"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "ideal": {
            "$ref": "#/components/schemas/payment_method_ideal"
          },
          "interac_present": {
            "$ref": "#/components/schemas/payment_method_interac_present"
          },
          "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.",
            "nullable": true,
            "type": "object"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["payment_method"],
            "type": "string"
          },
          "oxxo": {
            "$ref": "#/components/schemas/payment_method_oxxo"
          },
          "p24": {
            "$ref": "#/components/schemas/payment_method_p24"
          },
          "sepa_debit": {
            "$ref": "#/components/schemas/payment_method_sepa_debit"
          },
          "sofort": {
            "$ref": "#/components/schemas/payment_method_sofort"
          },
          "type": {
            "description": "The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.",
            "enum": [
              "afterpay_clearpay",
              "alipay",
              "au_becs_debit",
              "bacs_debit",
              "bancontact",
              "card",
              "card_present",
              "eps",
              "fpx",
              "giropay",
              "grabpay",
              "ideal",
              "interac_present",
              "oxxo",
              "p24",
              "sepa_debit",
              "sofort"
            ],
            "type": "string",
            "x-stripeBypassValidation": true
          }
        },
        "required": ["billing_details", "created", "id", "livemode", "object", "type"],
        "title": "PaymentMethod",
        "type": "object",
        "x-expandableFields": [
          "afterpay_clearpay",
          "alipay",
          "au_becs_debit",
          "bacs_debit",
          "bancontact",
          "billing_details",
          "card",
          "card_present",
          "customer",
          "eps",
          "fpx",
          "giropay",
          "grabpay",
          "ideal",
          "interac_present",
          "oxxo",
          "p24",
          "sepa_debit",
          "sofort"
        ],
        "x-resourceId": "payment_method"
      },
      "payment_method_afterpay_clearpay": {
        "description": "",
        "properties": {},
        "title": "payment_method_afterpay_clearpay",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_au_becs_debit": {
        "description": "",
        "properties": {
          "bsb_number": {
            "description": "Six-digit number identifying bank and branch associated with this bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "fingerprint": {
            "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "last4": {
            "description": "Last four digits of the bank account number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_au_becs_debit",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_bacs_debit": {
        "description": "",
        "properties": {
          "fingerprint": {
            "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "last4": {
            "description": "Last four digits of the bank account number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "sort_code": {
            "description": "Sort code of the bank account. (e.g., `10-20-30`)",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_bacs_debit",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_bancontact": {
        "description": "",
        "properties": {},
        "title": "payment_method_bancontact",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_card": {
        "description": "",
        "properties": {
          "brand": {
            "description": "Card brand. Can be `amex`, `diners`, `discover`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.",
            "maxLength": 5000,
            "type": "string"
          },
          "checks": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_method_card_checks"
              }
            ],
            "description": "Checks on Card address and CVC if provided.",
            "nullable": true
          },
          "country": {
            "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "exp_month": {
            "description": "Two-digit number representing the card's expiration month.",
            "type": "integer"
          },
          "exp_year": {
            "description": "Four-digit number representing the card's expiration year.",
            "type": "integer"
          },
          "fingerprint": {
            "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*Starting May 1, 2021, card fingerprint in India for Connect will change to allow two fingerprints for the same card --- one for India and one for the rest of the world.*",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "funding": {
            "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.",
            "maxLength": 5000,
            "type": "string"
          },
          "generated_from": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_method_card_generated_card"
              }
            ],
            "description": "Details of the original PaymentMethod that created this object.",
            "nullable": true
          },
          "last4": {
            "description": "The last four digits of the card.",
            "maxLength": 5000,
            "type": "string"
          },
          "networks": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/networks"
              }
            ],
            "description": "Contains information about card networks that can be used to process the payment.",
            "nullable": true
          },
          "three_d_secure_usage": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/three_d_secure_usage"
              }
            ],
            "description": "Contains details on how this Card maybe be used for 3D Secure authentication.",
            "nullable": true
          },
          "wallet": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_method_card_wallet"
              }
            ],
            "description": "If this Card is part of a card wallet, this contains the details of the card wallet.",
            "nullable": true
          }
        },
        "required": ["brand", "exp_month", "exp_year", "funding", "last4"],
        "title": "payment_method_card",
        "type": "object",
        "x-expandableFields": ["checks", "generated_from", "networks", "three_d_secure_usage", "wallet"]
      },
      "payment_method_card_checks": {
        "description": "",
        "properties": {
          "address_line1_check": {
            "description": "If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "address_postal_code_check": {
            "description": "If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "cvc_check": {
            "description": "If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_card_checks",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_card_generated_card": {
        "description": "",
        "properties": {
          "charge": {
            "description": "The charge that created this object.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "payment_method_details": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/card_generated_from_payment_method_details"
              }
            ],
            "description": "Transaction-specific details of the payment method used in the payment.",
            "nullable": true
          },
          "setup_attempt": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/setup_attempt"
              }
            ],
            "description": "The ID of the SetupAttempt that generated this PaymentMethod, if any.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/setup_attempt"
                }
              ]
            }
          }
        },
        "title": "payment_method_card_generated_card",
        "type": "object",
        "x-expandableFields": ["payment_method_details", "setup_attempt"]
      },
      "payment_method_card_present": {
        "description": "",
        "properties": {},
        "title": "payment_method_card_present",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_card_wallet": {
        "description": "",
        "properties": {
          "amex_express_checkout": {
            "$ref": "#/components/schemas/payment_method_card_wallet_amex_express_checkout"
          },
          "apple_pay": {
            "$ref": "#/components/schemas/payment_method_card_wallet_apple_pay"
          },
          "dynamic_last4": {
            "description": "(For tokenized numbers only.) The last four digits of the device account number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "google_pay": {
            "$ref": "#/components/schemas/payment_method_card_wallet_google_pay"
          },
          "masterpass": {
            "$ref": "#/components/schemas/payment_method_card_wallet_masterpass"
          },
          "samsung_pay": {
            "$ref": "#/components/schemas/payment_method_card_wallet_samsung_pay"
          },
          "type": {
            "description": "The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, or `visa_checkout`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type.",
            "enum": ["amex_express_checkout", "apple_pay", "google_pay", "masterpass", "samsung_pay", "visa_checkout"],
            "type": "string"
          },
          "visa_checkout": {
            "$ref": "#/components/schemas/payment_method_card_wallet_visa_checkout"
          }
        },
        "required": ["type"],
        "title": "payment_method_card_wallet",
        "type": "object",
        "x-expandableFields": [
          "amex_express_checkout",
          "apple_pay",
          "google_pay",
          "masterpass",
          "samsung_pay",
          "visa_checkout"
        ]
      },
      "payment_method_card_wallet_amex_express_checkout": {
        "description": "",
        "properties": {},
        "title": "payment_method_card_wallet_amex_express_checkout",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_card_wallet_apple_pay": {
        "description": "",
        "properties": {},
        "title": "payment_method_card_wallet_apple_pay",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_card_wallet_google_pay": {
        "description": "",
        "properties": {},
        "title": "payment_method_card_wallet_google_pay",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_card_wallet_masterpass": {
        "description": "",
        "properties": {
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "nullable": true
          },
          "email": {
            "description": "Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "nullable": true
          }
        },
        "title": "payment_method_card_wallet_masterpass",
        "type": "object",
        "x-expandableFields": ["billing_address", "shipping_address"]
      },
      "payment_method_card_wallet_samsung_pay": {
        "description": "",
        "properties": {},
        "title": "payment_method_card_wallet_samsung_pay",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_card_wallet_visa_checkout": {
        "description": "",
        "properties": {
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "nullable": true
          },
          "email": {
            "description": "Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "nullable": true
          }
        },
        "title": "payment_method_card_wallet_visa_checkout",
        "type": "object",
        "x-expandableFields": ["billing_address", "shipping_address"]
      },
      "payment_method_details": {
        "description": "",
        "properties": {
          "ach_credit_transfer": {
            "$ref": "#/components/schemas/payment_method_details_ach_credit_transfer"
          },
          "ach_debit": {
            "$ref": "#/components/schemas/payment_method_details_ach_debit"
          },
          "afterpay_clearpay": {
            "$ref": "#/components/schemas/payment_method_details_afterpay_clearpay"
          },
          "alipay": {
            "$ref": "#/components/schemas/payment_flows_private_payment_methods_alipay_details"
          },
          "au_becs_debit": {
            "$ref": "#/components/schemas/payment_method_details_au_becs_debit"
          },
          "bacs_debit": {
            "$ref": "#/components/schemas/payment_method_details_bacs_debit"
          },
          "bancontact": {
            "$ref": "#/components/schemas/payment_method_details_bancontact"
          },
          "card": {
            "$ref": "#/components/schemas/payment_method_details_card"
          },
          "card_present": {
            "$ref": "#/components/schemas/payment_method_details_card_present"
          },
          "eps": {
            "$ref": "#/components/schemas/payment_method_details_eps"
          },
          "fpx": {
            "$ref": "#/components/schemas/payment_method_details_fpx"
          },
          "giropay": {
            "$ref": "#/components/schemas/payment_method_details_giropay"
          },
          "grabpay": {
            "$ref": "#/components/schemas/payment_method_details_grabpay"
          },
          "ideal": {
            "$ref": "#/components/schemas/payment_method_details_ideal"
          },
          "interac_present": {
            "$ref": "#/components/schemas/payment_method_details_interac_present"
          },
          "klarna": {
            "$ref": "#/components/schemas/payment_method_details_klarna"
          },
          "multibanco": {
            "$ref": "#/components/schemas/payment_method_details_multibanco"
          },
          "oxxo": {
            "$ref": "#/components/schemas/payment_method_details_oxxo"
          },
          "p24": {
            "$ref": "#/components/schemas/payment_method_details_p24"
          },
          "sepa_debit": {
            "$ref": "#/components/schemas/payment_method_details_sepa_debit"
          },
          "sofort": {
            "$ref": "#/components/schemas/payment_method_details_sofort"
          },
          "stripe_account": {
            "$ref": "#/components/schemas/payment_method_details_stripe_account"
          },
          "type": {
            "description": "The type of transaction-specific details of the payment method used in the payment, one of `ach_credit_transfer`, `ach_debit`, `alipay`, `au_becs_debit`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `klarna`, `multibanco`, `p24`, `sepa_debit`, `sofort`, `stripe_account`, or `wechat`.\nAn additional hash is included on `payment_method_details` with a name matching this value.\nIt contains information specific to the payment method.",
            "maxLength": 5000,
            "type": "string"
          },
          "wechat": {
            "$ref": "#/components/schemas/payment_method_details_wechat"
          }
        },
        "required": ["type"],
        "title": "payment_method_details",
        "type": "object",
        "x-expandableFields": [
          "ach_credit_transfer",
          "ach_debit",
          "afterpay_clearpay",
          "alipay",
          "au_becs_debit",
          "bacs_debit",
          "bancontact",
          "card",
          "card_present",
          "eps",
          "fpx",
          "giropay",
          "grabpay",
          "ideal",
          "interac_present",
          "klarna",
          "multibanco",
          "oxxo",
          "p24",
          "sepa_debit",
          "sofort",
          "stripe_account",
          "wechat"
        ]
      },
      "payment_method_details_ach_credit_transfer": {
        "description": "",
        "properties": {
          "account_number": {
            "description": "Account number to transfer funds to.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "bank_name": {
            "description": "Name of the bank associated with the routing number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "routing_number": {
            "description": "Routing transit number for the bank account to transfer funds to.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "swift_code": {
            "description": "SWIFT code of the bank associated with the routing number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_ach_credit_transfer",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_ach_debit": {
        "description": "",
        "properties": {
          "account_holder_type": {
            "description": "Type of entity that holds the account. This can be either `individual` or `company`.",
            "enum": ["company", "individual"],
            "nullable": true,
            "type": "string"
          },
          "bank_name": {
            "description": "Name of the bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "country": {
            "description": "Two-letter ISO code representing the country the bank account is located in.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "fingerprint": {
            "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "last4": {
            "description": "Last four digits of the bank account number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "routing_number": {
            "description": "Routing transit number of the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_ach_debit",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_afterpay_clearpay": {
        "description": "",
        "properties": {},
        "title": "payment_method_details_afterpay_clearpay",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_au_becs_debit": {
        "description": "",
        "properties": {
          "bsb_number": {
            "description": "Bank-State-Branch number of the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "fingerprint": {
            "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "last4": {
            "description": "Last four digits of the bank account number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "mandate": {
            "description": "ID of the mandate used to make this payment.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "title": "payment_method_details_au_becs_debit",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_bacs_debit": {
        "description": "",
        "properties": {
          "fingerprint": {
            "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "last4": {
            "description": "Last four digits of the bank account number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "mandate": {
            "description": "ID of the mandate used to make this payment.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "sort_code": {
            "description": "Sort code of the bank account. (e.g., `10-20-30`)",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_bacs_debit",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_bancontact": {
        "description": "",
        "properties": {
          "bank_code": {
            "description": "Bank code of bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "bank_name": {
            "description": "Name of the bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "bic": {
            "description": "Bank Identifier Code of the bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "generated_sepa_debit": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "generated_sepa_debit_mandate": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/mandate"
              }
            ],
            "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/mandate"
                }
              ]
            }
          },
          "iban_last4": {
            "description": "Last four characters of the IBAN.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "preferred_language": {
            "description": "Preferred language of the Bancontact authorization page that the customer is redirected to.\nCan be one of `en`, `de`, `fr`, or `nl`",
            "enum": ["de", "en", "fr", "nl"],
            "nullable": true,
            "type": "string"
          },
          "verified_name": {
            "description": "Owner's verified full name. Values are verified or provided by Bancontact directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_bancontact",
        "type": "object",
        "x-expandableFields": ["generated_sepa_debit", "generated_sepa_debit_mandate"]
      },
      "payment_method_details_card": {
        "description": "",
        "properties": {
          "brand": {
            "description": "Card brand. Can be `amex`, `diners`, `discover`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "checks": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_method_details_card_checks"
              }
            ],
            "description": "Check results by Card networks on Card address and CVC at time of payment.",
            "nullable": true
          },
          "country": {
            "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "exp_month": {
            "description": "Two-digit number representing the card's expiration month.",
            "type": "integer"
          },
          "exp_year": {
            "description": "Four-digit number representing the card's expiration year.",
            "type": "integer"
          },
          "fingerprint": {
            "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*Starting May 1, 2021, card fingerprint in India for Connect will change to allow two fingerprints for the same card --- one for India and one for the rest of the world.*",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "funding": {
            "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "installments": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_method_details_card_installments"
              }
            ],
            "description": "Installment details for this payment (Mexico only).\n\nFor more information, see the [installments integration guide](https://stripe.com/docs/payments/installments).",
            "nullable": true
          },
          "last4": {
            "description": "The last four digits of the card.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "network": {
            "description": "Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "three_d_secure": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/three_d_secure_details"
              }
            ],
            "description": "Populated if this transaction used 3D Secure authentication.",
            "nullable": true
          },
          "wallet": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_method_details_card_wallet"
              }
            ],
            "description": "If this Card is part of a card wallet, this contains the details of the card wallet.",
            "nullable": true
          }
        },
        "required": ["exp_month", "exp_year"],
        "title": "payment_method_details_card",
        "type": "object",
        "x-expandableFields": ["checks", "installments", "three_d_secure", "wallet"]
      },
      "payment_method_details_card_checks": {
        "description": "",
        "properties": {
          "address_line1_check": {
            "description": "If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "address_postal_code_check": {
            "description": "If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "cvc_check": {
            "description": "If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_card_checks",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_card_installments": {
        "description": "",
        "properties": {
          "plan": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_method_details_card_installments_plan"
              }
            ],
            "description": "Installment plan selected for the payment.",
            "nullable": true
          }
        },
        "title": "payment_method_details_card_installments",
        "type": "object",
        "x-expandableFields": ["plan"]
      },
      "payment_method_details_card_installments_plan": {
        "description": "",
        "properties": {
          "count": {
            "description": "For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card.",
            "nullable": true,
            "type": "integer"
          },
          "interval": {
            "description": "For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card.\nOne of `month`.",
            "enum": ["month"],
            "nullable": true,
            "type": "string"
          },
          "type": {
            "description": "Type of installment plan, one of `fixed_count`.",
            "enum": ["fixed_count"],
            "type": "string"
          }
        },
        "required": ["type"],
        "title": "payment_method_details_card_installments_plan",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_card_present": {
        "description": "",
        "properties": {
          "brand": {
            "description": "Card brand. Can be `amex`, `diners`, `discover`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "cardholder_name": {
            "description": "The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "country": {
            "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "emv_auth_data": {
            "description": "Authorization response cryptogram.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "exp_month": {
            "description": "Two-digit number representing the card's expiration month.",
            "type": "integer"
          },
          "exp_year": {
            "description": "Four-digit number representing the card's expiration year.",
            "type": "integer"
          },
          "fingerprint": {
            "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*Starting May 1, 2021, card fingerprint in India for Connect will change to allow two fingerprints for the same card --- one for India and one for the rest of the world.*",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "funding": {
            "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "generated_card": {
            "description": "ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "last4": {
            "description": "The last four digits of the card.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "network": {
            "description": "Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "read_method": {
            "description": "How card details were read in this transaction.",
            "enum": [
              "contact_emv",
              "contactless_emv",
              "contactless_magstripe_mode",
              "magnetic_stripe_fallback",
              "magnetic_stripe_track2"
            ],
            "nullable": true,
            "type": "string"
          },
          "receipt": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_method_details_card_present_receipt"
              }
            ],
            "description": "A collection of fields required to be displayed on receipts. Only required for EMV transactions.",
            "nullable": true
          }
        },
        "required": ["exp_month", "exp_year"],
        "title": "payment_method_details_card_present",
        "type": "object",
        "x-expandableFields": ["receipt"]
      },
      "payment_method_details_card_present_receipt": {
        "description": "",
        "properties": {
          "account_type": {
            "description": "The type of account being debited or credited",
            "enum": ["checking", "credit", "prepaid", "unknown"],
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "application_cryptogram": {
            "description": "EMV tag 9F26, cryptogram generated by the integrated circuit chip.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "application_preferred_name": {
            "description": "Mnenomic of the Application Identifier.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "authorization_code": {
            "description": "Identifier for this transaction.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "authorization_response_code": {
            "description": "EMV tag 8A. A code returned by the card issuer.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "cardholder_verification_method": {
            "description": "How the cardholder verified ownership of the card.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "dedicated_file_name": {
            "description": "EMV tag 84. Similar to the application identifier stored on the integrated circuit chip.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "terminal_verification_results": {
            "description": "The outcome of a series of EMV functions performed by the card reader.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "transaction_status_information": {
            "description": "An indication of various EMV functions performed during the transaction.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_card_present_receipt",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_card_wallet": {
        "description": "",
        "properties": {
          "amex_express_checkout": {
            "$ref": "#/components/schemas/payment_method_details_card_wallet_amex_express_checkout"
          },
          "apple_pay": {
            "$ref": "#/components/schemas/payment_method_details_card_wallet_apple_pay"
          },
          "dynamic_last4": {
            "description": "(For tokenized numbers only.) The last four digits of the device account number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "google_pay": {
            "$ref": "#/components/schemas/payment_method_details_card_wallet_google_pay"
          },
          "masterpass": {
            "$ref": "#/components/schemas/payment_method_details_card_wallet_masterpass"
          },
          "samsung_pay": {
            "$ref": "#/components/schemas/payment_method_details_card_wallet_samsung_pay"
          },
          "type": {
            "description": "The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, or `visa_checkout`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type.",
            "enum": ["amex_express_checkout", "apple_pay", "google_pay", "masterpass", "samsung_pay", "visa_checkout"],
            "type": "string"
          },
          "visa_checkout": {
            "$ref": "#/components/schemas/payment_method_details_card_wallet_visa_checkout"
          }
        },
        "required": ["type"],
        "title": "payment_method_details_card_wallet",
        "type": "object",
        "x-expandableFields": [
          "amex_express_checkout",
          "apple_pay",
          "google_pay",
          "masterpass",
          "samsung_pay",
          "visa_checkout"
        ]
      },
      "payment_method_details_card_wallet_amex_express_checkout": {
        "description": "",
        "properties": {},
        "title": "payment_method_details_card_wallet_amex_express_checkout",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_card_wallet_apple_pay": {
        "description": "",
        "properties": {},
        "title": "payment_method_details_card_wallet_apple_pay",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_card_wallet_google_pay": {
        "description": "",
        "properties": {},
        "title": "payment_method_details_card_wallet_google_pay",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_card_wallet_masterpass": {
        "description": "",
        "properties": {
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "nullable": true
          },
          "email": {
            "description": "Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "nullable": true
          }
        },
        "title": "payment_method_details_card_wallet_masterpass",
        "type": "object",
        "x-expandableFields": ["billing_address", "shipping_address"]
      },
      "payment_method_details_card_wallet_samsung_pay": {
        "description": "",
        "properties": {},
        "title": "payment_method_details_card_wallet_samsung_pay",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_card_wallet_visa_checkout": {
        "description": "",
        "properties": {
          "billing_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "nullable": true
          },
          "email": {
            "description": "Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "shipping_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "nullable": true
          }
        },
        "title": "payment_method_details_card_wallet_visa_checkout",
        "type": "object",
        "x-expandableFields": ["billing_address", "shipping_address"]
      },
      "payment_method_details_eps": {
        "description": "",
        "properties": {
          "bank": {
            "description": "The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`.",
            "enum": [
              "arzte_und_apotheker_bank",
              "austrian_anadi_bank_ag",
              "bank_austria",
              "bankhaus_carl_spangler",
              "bankhaus_schelhammer_und_schattera_ag",
              "bawag_psk_ag",
              "bks_bank_ag",
              "brull_kallmus_bank_ag",
              "btv_vier_lander_bank",
              "capital_bank_grawe_gruppe_ag",
              "dolomitenbank",
              "easybank_ag",
              "erste_bank_und_sparkassen",
              "hypo_alpeadriabank_international_ag",
              "hypo_bank_burgenland_aktiengesellschaft",
              "hypo_noe_lb_fur_niederosterreich_u_wien",
              "hypo_oberosterreich_salzburg_steiermark",
              "hypo_tirol_bank_ag",
              "hypo_vorarlberg_bank_ag",
              "marchfelder_bank",
              "oberbank_ag",
              "raiffeisen_bankengruppe_osterreich",
              "schoellerbank_ag",
              "sparda_bank_wien",
              "volksbank_gruppe",
              "volkskreditbank_ag",
              "vr_bank_braunau"
            ],
            "nullable": true,
            "type": "string"
          },
          "verified_name": {
            "description": "Owner's verified full name. Values are verified or provided by EPS directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.\nEPS rarely provides this information so the attribute is usually empty.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_eps",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_fpx": {
        "description": "",
        "properties": {
          "bank": {
            "description": "The customer's bank. Can be one of `affin_bank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, or `pb_enterprise`.",
            "enum": [
              "affin_bank",
              "alliance_bank",
              "ambank",
              "bank_islam",
              "bank_muamalat",
              "bank_rakyat",
              "bsn",
              "cimb",
              "deutsche_bank",
              "hong_leong_bank",
              "hsbc",
              "kfh",
              "maybank2e",
              "maybank2u",
              "ocbc",
              "pb_enterprise",
              "public_bank",
              "rhb",
              "standard_chartered",
              "uob"
            ],
            "type": "string"
          },
          "transaction_id": {
            "description": "Unique transaction id generated by FPX for every request from the merchant",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["bank"],
        "title": "payment_method_details_fpx",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_giropay": {
        "description": "",
        "properties": {
          "bank_code": {
            "description": "Bank code of bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "bank_name": {
            "description": "Name of the bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "bic": {
            "description": "Bank Identifier Code of the bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "verified_name": {
            "description": "Owner's verified full name. Values are verified or provided by Giropay directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.\nGiropay rarely provides this information so the attribute is usually empty.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_giropay",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_grabpay": {
        "description": "",
        "properties": {
          "transaction_id": {
            "description": "Unique transaction id generated by GrabPay",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_grabpay",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_ideal": {
        "description": "",
        "properties": {
          "bank": {
            "description": "The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, or `van_lanschot`.",
            "enum": [
              "abn_amro",
              "asn_bank",
              "bunq",
              "handelsbanken",
              "ing",
              "knab",
              "moneyou",
              "rabobank",
              "regiobank",
              "revolut",
              "sns_bank",
              "triodos_bank",
              "van_lanschot"
            ],
            "nullable": true,
            "type": "string"
          },
          "bic": {
            "description": "The Bank Identifier Code of the customer's bank.",
            "enum": [
              "ABNANL2A",
              "ASNBNL21",
              "BUNQNL2A",
              "FVLBNL22",
              "HANDNL2A",
              "INGBNL2A",
              "KNABNL2H",
              "MOYONL21",
              "RABONL2U",
              "RBRBNL21",
              "REVOLT21",
              "SNSBNL2A",
              "TRIONL2U"
            ],
            "nullable": true,
            "type": "string"
          },
          "generated_sepa_debit": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "generated_sepa_debit_mandate": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/mandate"
              }
            ],
            "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/mandate"
                }
              ]
            }
          },
          "iban_last4": {
            "description": "Last four characters of the IBAN.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "verified_name": {
            "description": "Owner's verified full name. Values are verified or provided by iDEAL directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_ideal",
        "type": "object",
        "x-expandableFields": ["generated_sepa_debit", "generated_sepa_debit_mandate"]
      },
      "payment_method_details_interac_present": {
        "description": "",
        "properties": {
          "brand": {
            "description": "Card brand. Can be `interac`, `mastercard` or `visa`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "cardholder_name": {
            "description": "The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "country": {
            "description": "Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "emv_auth_data": {
            "description": "Authorization response cryptogram.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "exp_month": {
            "description": "Two-digit number representing the card's expiration month.",
            "type": "integer"
          },
          "exp_year": {
            "description": "Four-digit number representing the card's expiration year.",
            "type": "integer"
          },
          "fingerprint": {
            "description": "Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.\n\n*Starting May 1, 2021, card fingerprint in India for Connect will change to allow two fingerprints for the same card --- one for India and one for the rest of the world.*",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "funding": {
            "description": "Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "generated_card": {
            "description": "ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "last4": {
            "description": "The last four digits of the card.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "network": {
            "description": "Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `interac`, `jcb`, `mastercard`, `unionpay`, `visa`, or `unknown`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "preferred_locales": {
            "description": "EMV tag 5F2D. Preferred languages specified by the integrated circuit chip.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "read_method": {
            "description": "How card details were read in this transaction.",
            "enum": [
              "contact_emv",
              "contactless_emv",
              "contactless_magstripe_mode",
              "magnetic_stripe_fallback",
              "magnetic_stripe_track2"
            ],
            "nullable": true,
            "type": "string"
          },
          "receipt": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_method_details_interac_present_receipt"
              }
            ],
            "description": "A collection of fields required to be displayed on receipts. Only required for EMV transactions.",
            "nullable": true
          }
        },
        "required": ["exp_month", "exp_year"],
        "title": "payment_method_details_interac_present",
        "type": "object",
        "x-expandableFields": ["receipt"]
      },
      "payment_method_details_interac_present_receipt": {
        "description": "",
        "properties": {
          "account_type": {
            "description": "The type of account being debited or credited",
            "enum": ["checking", "savings", "unknown"],
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "application_cryptogram": {
            "description": "EMV tag 9F26, cryptogram generated by the integrated circuit chip.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "application_preferred_name": {
            "description": "Mnenomic of the Application Identifier.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "authorization_code": {
            "description": "Identifier for this transaction.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "authorization_response_code": {
            "description": "EMV tag 8A. A code returned by the card issuer.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "cardholder_verification_method": {
            "description": "How the cardholder verified ownership of the card.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "dedicated_file_name": {
            "description": "EMV tag 84. Similar to the application identifier stored on the integrated circuit chip.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "terminal_verification_results": {
            "description": "The outcome of a series of EMV functions performed by the card reader.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "transaction_status_information": {
            "description": "An indication of various EMV functions performed during the transaction.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_interac_present_receipt",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_klarna": {
        "description": "",
        "properties": {},
        "title": "payment_method_details_klarna",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_multibanco": {
        "description": "",
        "properties": {
          "entity": {
            "description": "Entity number associated with this Multibanco payment.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "reference": {
            "description": "Reference number associated with this Multibanco payment.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_multibanco",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_oxxo": {
        "description": "",
        "properties": {
          "number": {
            "description": "OXXO reference number",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_oxxo",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_p24": {
        "description": "",
        "properties": {
          "bank": {
            "description": "The customer's bank. Can be one of `ing`, `citi_handlowy`, `tmobile_usbugi_bankowe`, `plus_bank`, `etransfer_pocztowy24`, `banki_spbdzielcze`, `bank_nowy_bfg_sa`, `getin_bank`, `blik`, `noble_pay`, `ideabank`, `envelobank`, `santander_przelew24`, `nest_przelew`, `mbank_mtransfer`, `inteligo`, `pbac_z_ipko`, `bnp_paribas`, `credit_agricole`, `toyota_bank`, `bank_pekao_sa`, `volkswagen_bank`, `bank_millennium`, `alior_bank`, or `boz`.",
            "enum": [
              "alior_bank",
              "bank_millennium",
              "bank_nowy_bfg_sa",
              "bank_pekao_sa",
              "banki_spbdzielcze",
              "blik",
              "bnp_paribas",
              "boz",
              "citi_handlowy",
              "credit_agricole",
              "envelobank",
              "etransfer_pocztowy24",
              "getin_bank",
              "ideabank",
              "ing",
              "inteligo",
              "mbank_mtransfer",
              "nest_przelew",
              "noble_pay",
              "pbac_z_ipko",
              "plus_bank",
              "santander_przelew24",
              "tmobile_usbugi_bankowe",
              "toyota_bank",
              "volkswagen_bank"
            ],
            "nullable": true,
            "type": "string"
          },
          "reference": {
            "description": "Unique reference for this Przelewy24 payment.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "verified_name": {
            "description": "Owner's verified full name. Values are verified or provided by Przelewy24 directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.\nPrzelewy24 rarely provides this information so the attribute is usually empty.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_p24",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_sepa_debit": {
        "description": "",
        "properties": {
          "bank_code": {
            "description": "Bank code of bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "branch_code": {
            "description": "Branch code of bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "country": {
            "description": "Two-letter ISO code representing the country the bank account is located in.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "fingerprint": {
            "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "last4": {
            "description": "Last four characters of the IBAN.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "mandate": {
            "description": "ID of the mandate used to make this payment.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_sepa_debit",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_sofort": {
        "description": "",
        "properties": {
          "bank_code": {
            "description": "Bank code of bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "bank_name": {
            "description": "Name of the bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "bic": {
            "description": "Bank Identifier Code of the bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "country": {
            "description": "Two-letter ISO code representing the country the bank account is located in.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "generated_sepa_debit": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "generated_sepa_debit_mandate": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/mandate"
              }
            ],
            "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/mandate"
                }
              ]
            }
          },
          "iban_last4": {
            "description": "Last four characters of the IBAN.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "preferred_language": {
            "description": "Preferred language of the SOFORT authorization page that the customer is redirected to.\nCan be one of `de`, `en`, `es`, `fr`, `it`, `nl`, or `pl`",
            "enum": ["de", "en", "es", "fr", "it", "nl", "pl"],
            "nullable": true,
            "type": "string"
          },
          "verified_name": {
            "description": "Owner's verified full name. Values are verified or provided by SOFORT directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_details_sofort",
        "type": "object",
        "x-expandableFields": ["generated_sepa_debit", "generated_sepa_debit_mandate"]
      },
      "payment_method_details_stripe_account": {
        "description": "",
        "properties": {},
        "title": "payment_method_details_stripe_account",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_details_wechat": {
        "description": "",
        "properties": {},
        "title": "payment_method_details_wechat",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_eps": {
        "description": "",
        "properties": {
          "bank": {
            "description": "The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`.",
            "enum": [
              "arzte_und_apotheker_bank",
              "austrian_anadi_bank_ag",
              "bank_austria",
              "bankhaus_carl_spangler",
              "bankhaus_schelhammer_und_schattera_ag",
              "bawag_psk_ag",
              "bks_bank_ag",
              "brull_kallmus_bank_ag",
              "btv_vier_lander_bank",
              "capital_bank_grawe_gruppe_ag",
              "dolomitenbank",
              "easybank_ag",
              "erste_bank_und_sparkassen",
              "hypo_alpeadriabank_international_ag",
              "hypo_bank_burgenland_aktiengesellschaft",
              "hypo_noe_lb_fur_niederosterreich_u_wien",
              "hypo_oberosterreich_salzburg_steiermark",
              "hypo_tirol_bank_ag",
              "hypo_vorarlberg_bank_ag",
              "marchfelder_bank",
              "oberbank_ag",
              "raiffeisen_bankengruppe_osterreich",
              "schoellerbank_ag",
              "sparda_bank_wien",
              "volksbank_gruppe",
              "volkskreditbank_ag",
              "vr_bank_braunau"
            ],
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_eps",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_fpx": {
        "description": "",
        "properties": {
          "bank": {
            "description": "The customer's bank, if provided. Can be one of `affin_bank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, or `pb_enterprise`.",
            "enum": [
              "affin_bank",
              "alliance_bank",
              "ambank",
              "bank_islam",
              "bank_muamalat",
              "bank_rakyat",
              "bsn",
              "cimb",
              "deutsche_bank",
              "hong_leong_bank",
              "hsbc",
              "kfh",
              "maybank2e",
              "maybank2u",
              "ocbc",
              "pb_enterprise",
              "public_bank",
              "rhb",
              "standard_chartered",
              "uob"
            ],
            "type": "string"
          }
        },
        "required": ["bank"],
        "title": "payment_method_fpx",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_giropay": {
        "description": "",
        "properties": {},
        "title": "payment_method_giropay",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_grabpay": {
        "description": "",
        "properties": {},
        "title": "payment_method_grabpay",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_ideal": {
        "description": "",
        "properties": {
          "bank": {
            "description": "The customer's bank, if provided. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, or `van_lanschot`.",
            "enum": [
              "abn_amro",
              "asn_bank",
              "bunq",
              "handelsbanken",
              "ing",
              "knab",
              "moneyou",
              "rabobank",
              "regiobank",
              "revolut",
              "sns_bank",
              "triodos_bank",
              "van_lanschot"
            ],
            "nullable": true,
            "type": "string"
          },
          "bic": {
            "description": "The Bank Identifier Code of the customer's bank, if the bank was provided.",
            "enum": [
              "ABNANL2A",
              "ASNBNL21",
              "BUNQNL2A",
              "FVLBNL22",
              "HANDNL2A",
              "INGBNL2A",
              "KNABNL2H",
              "MOYONL21",
              "RABONL2U",
              "RBRBNL21",
              "REVOLT21",
              "SNSBNL2A",
              "TRIONL2U"
            ],
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_ideal",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_interac_present": {
        "description": "",
        "properties": {},
        "title": "payment_method_interac_present",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_options_alipay": {
        "description": "",
        "properties": {},
        "title": "payment_method_options_alipay",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_options_bancontact": {
        "description": "",
        "properties": {
          "preferred_language": {
            "description": "Preferred language of the Bancontact authorization page that the customer is redirected to.",
            "enum": ["de", "en", "fr", "nl"],
            "type": "string"
          }
        },
        "required": ["preferred_language"],
        "title": "payment_method_options_bancontact",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_options_card_installments": {
        "description": "",
        "properties": {
          "available_plans": {
            "description": "Installment plans that may be selected for this PaymentIntent.",
            "items": {
              "$ref": "#/components/schemas/payment_method_details_card_installments_plan"
            },
            "nullable": true,
            "type": "array"
          },
          "enabled": {
            "description": "Whether Installments are enabled for this PaymentIntent.",
            "type": "boolean"
          },
          "plan": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/payment_method_details_card_installments_plan"
              }
            ],
            "description": "Installment plan selected for this PaymentIntent.",
            "nullable": true
          }
        },
        "required": ["enabled"],
        "title": "payment_method_options_card_installments",
        "type": "object",
        "x-expandableFields": ["available_plans", "plan"]
      },
      "payment_method_options_oxxo": {
        "description": "",
        "properties": {
          "expires_after_days": {
            "description": "The number of calendar days before an OXXO invoice expires. For example, if you create an OXXO invoice on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time.",
            "type": "integer"
          }
        },
        "required": ["expires_after_days"],
        "title": "payment_method_options_oxxo",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_options_p24": {
        "description": "",
        "properties": {},
        "title": "payment_method_options_p24",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_options_sofort": {
        "description": "",
        "properties": {
          "preferred_language": {
            "description": "Preferred language of the SOFORT authorization page that the customer is redirected to.",
            "enum": ["de", "en", "es", "fr", "it", "nl", "pl"],
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_options_sofort",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_oxxo": {
        "description": "",
        "properties": {},
        "title": "payment_method_oxxo",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_p24": {
        "description": "",
        "properties": {
          "bank": {
            "description": "The customer's bank, if provided.",
            "enum": [
              "alior_bank",
              "bank_millennium",
              "bank_nowy_bfg_sa",
              "bank_pekao_sa",
              "banki_spbdzielcze",
              "blik",
              "bnp_paribas",
              "boz",
              "citi_handlowy",
              "credit_agricole",
              "envelobank",
              "etransfer_pocztowy24",
              "getin_bank",
              "ideabank",
              "ing",
              "inteligo",
              "mbank_mtransfer",
              "nest_przelew",
              "noble_pay",
              "pbac_z_ipko",
              "plus_bank",
              "santander_przelew24",
              "tmobile_usbugi_bankowe",
              "toyota_bank",
              "volkswagen_bank"
            ],
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_p24",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_method_sepa_debit": {
        "description": "",
        "properties": {
          "bank_code": {
            "description": "Bank code of bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "branch_code": {
            "description": "Branch code of bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "country": {
            "description": "Two-letter ISO code representing the country the bank account is located in.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "fingerprint": {
            "description": "Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "generated_from": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/sepa_debit_generated_from"
              }
            ],
            "description": "Information about the object that generated this PaymentMethod.",
            "nullable": true
          },
          "last4": {
            "description": "Last four characters of the IBAN.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_sepa_debit",
        "type": "object",
        "x-expandableFields": ["generated_from"]
      },
      "payment_method_sofort": {
        "description": "",
        "properties": {
          "country": {
            "description": "Two-letter ISO code representing the country the bank account is located in.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "payment_method_sofort",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_pages_checkout_session_customer_details": {
        "description": "",
        "properties": {
          "email": {
            "description": "The customer’s email at time of checkout.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "tax_exempt": {
            "description": "The customer’s tax exempt status at time of checkout.",
            "enum": ["exempt", "none", "reverse"],
            "nullable": true,
            "type": "string"
          },
          "tax_ids": {
            "description": "The customer’s tax IDs at time of checkout.",
            "items": {
              "$ref": "#/components/schemas/payment_pages_checkout_session_tax_id"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "title": "PaymentPagesCheckoutSessionCustomerDetails",
        "type": "object",
        "x-expandableFields": ["tax_ids"]
      },
      "payment_pages_checkout_session_tax_id": {
        "description": "",
        "properties": {
          "type": {
            "description": "The type of the tax ID, one of `eu_vat`, `br_cnpj`, `br_cpf`, `gb_vat`, `nz_gst`, `au_abn`, `in_gst`, `no_vat`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `li_uid`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, or `unknown`",
            "enum": [
              "ae_trn",
              "au_abn",
              "br_cnpj",
              "br_cpf",
              "ca_bn",
              "ca_qst",
              "ch_vat",
              "cl_tin",
              "es_cif",
              "eu_vat",
              "gb_vat",
              "hk_br",
              "id_npwp",
              "in_gst",
              "jp_cn",
              "jp_rn",
              "kr_brn",
              "li_uid",
              "mx_rfc",
              "my_frp",
              "my_itn",
              "my_sst",
              "no_vat",
              "nz_gst",
              "ru_inn",
              "ru_kpp",
              "sa_vat",
              "sg_gst",
              "sg_uen",
              "th_vat",
              "tw_vat",
              "unknown",
              "us_ein",
              "za_vat"
            ],
            "type": "string"
          },
          "value": {
            "description": "The value of the tax ID.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["type"],
        "title": "PaymentPagesCheckoutSessionTaxID",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_pages_checkout_session_total_details": {
        "description": "",
        "properties": {
          "amount_discount": {
            "description": "This is the sum of all the line item discounts.",
            "type": "integer"
          },
          "amount_shipping": {
            "description": "This is the sum of all the line item shipping amounts.",
            "nullable": true,
            "type": "integer"
          },
          "amount_tax": {
            "description": "This is the sum of all the line item tax amounts.",
            "type": "integer"
          },
          "breakdown": {
            "$ref": "#/components/schemas/payment_pages_checkout_session_total_details_resource_breakdown"
          }
        },
        "required": ["amount_discount", "amount_tax"],
        "title": "PaymentPagesCheckoutSessionTotalDetails",
        "type": "object",
        "x-expandableFields": ["breakdown"]
      },
      "payment_pages_checkout_session_total_details_resource_breakdown": {
        "description": "",
        "properties": {
          "discounts": {
            "description": "The aggregated line item discounts.",
            "items": {
              "$ref": "#/components/schemas/line_items_discount_amount"
            },
            "type": "array"
          },
          "taxes": {
            "description": "The aggregated line item tax amounts by rate.",
            "items": {
              "$ref": "#/components/schemas/line_items_tax_amount"
            },
            "type": "array"
          }
        },
        "required": ["discounts", "taxes"],
        "title": "PaymentPagesCheckoutSessionTotalDetailsResourceBreakdown",
        "type": "object",
        "x-expandableFields": ["discounts", "taxes"]
      },
      "payment_pages_payment_page_resources_shipping_address_collection": {
        "description": "",
        "properties": {
          "allowed_countries": {
            "description": "An array of two-letter ISO country codes representing which countries Checkout should provide as options for\nshipping locations. Unsupported country codes: `AS, CX, CC, CU, HM, IR, KP, MH, FM, NF, MP, PW, SD, SY, UM, VI`.",
            "items": {
              "enum": [
                "AC",
                "AD",
                "AE",
                "AF",
                "AG",
                "AI",
                "AL",
                "AM",
                "AO",
                "AQ",
                "AR",
                "AT",
                "AU",
                "AW",
                "AX",
                "AZ",
                "BA",
                "BB",
                "BD",
                "BE",
                "BF",
                "BG",
                "BH",
                "BI",
                "BJ",
                "BL",
                "BM",
                "BN",
                "BO",
                "BQ",
                "BR",
                "BS",
                "BT",
                "BV",
                "BW",
                "BY",
                "BZ",
                "CA",
                "CD",
                "CF",
                "CG",
                "CH",
                "CI",
                "CK",
                "CL",
                "CM",
                "CN",
                "CO",
                "CR",
                "CV",
                "CW",
                "CY",
                "CZ",
                "DE",
                "DJ",
                "DK",
                "DM",
                "DO",
                "DZ",
                "EC",
                "EE",
                "EG",
                "EH",
                "ER",
                "ES",
                "ET",
                "FI",
                "FJ",
                "FK",
                "FO",
                "FR",
                "GA",
                "GB",
                "GD",
                "GE",
                "GF",
                "GG",
                "GH",
                "GI",
                "GL",
                "GM",
                "GN",
                "GP",
                "GQ",
                "GR",
                "GS",
                "GT",
                "GU",
                "GW",
                "GY",
                "HK",
                "HN",
                "HR",
                "HT",
                "HU",
                "ID",
                "IE",
                "IL",
                "IM",
                "IN",
                "IO",
                "IQ",
                "IS",
                "IT",
                "JE",
                "JM",
                "JO",
                "JP",
                "KE",
                "KG",
                "KH",
                "KI",
                "KM",
                "KN",
                "KR",
                "KW",
                "KY",
                "KZ",
                "LA",
                "LB",
                "LC",
                "LI",
                "LK",
                "LR",
                "LS",
                "LT",
                "LU",
                "LV",
                "LY",
                "MA",
                "MC",
                "MD",
                "ME",
                "MF",
                "MG",
                "MK",
                "ML",
                "MM",
                "MN",
                "MO",
                "MQ",
                "MR",
                "MS",
                "MT",
                "MU",
                "MV",
                "MW",
                "MX",
                "MY",
                "MZ",
                "NA",
                "NC",
                "NE",
                "NG",
                "NI",
                "NL",
                "NO",
                "NP",
                "NR",
                "NU",
                "NZ",
                "OM",
                "PA",
                "PE",
                "PF",
                "PG",
                "PH",
                "PK",
                "PL",
                "PM",
                "PN",
                "PR",
                "PS",
                "PT",
                "PY",
                "QA",
                "RE",
                "RO",
                "RS",
                "RU",
                "RW",
                "SA",
                "SB",
                "SC",
                "SE",
                "SG",
                "SH",
                "SI",
                "SJ",
                "SK",
                "SL",
                "SM",
                "SN",
                "SO",
                "SR",
                "SS",
                "ST",
                "SV",
                "SX",
                "SZ",
                "TA",
                "TC",
                "TD",
                "TF",
                "TG",
                "TH",
                "TJ",
                "TK",
                "TL",
                "TM",
                "TN",
                "TO",
                "TR",
                "TT",
                "TV",
                "TW",
                "TZ",
                "UA",
                "UG",
                "US",
                "UY",
                "UZ",
                "VA",
                "VC",
                "VE",
                "VG",
                "VN",
                "VU",
                "WF",
                "WS",
                "XK",
                "YE",
                "YT",
                "ZA",
                "ZM",
                "ZW",
                "ZZ"
              ],
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": ["allowed_countries"],
        "title": "PaymentPagesPaymentPageResourcesShippingAddressCollection",
        "type": "object",
        "x-expandableFields": []
      },
      "payment_source": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/account"
          },
          {
            "$ref": "#/components/schemas/alipay_account"
          },
          {
            "$ref": "#/components/schemas/bank_account"
          },
          {
            "$ref": "#/components/schemas/bitcoin_receiver"
          },
          {
            "$ref": "#/components/schemas/card"
          },
          {
            "$ref": "#/components/schemas/source"
          }
        ],
        "title": "Polymorphic",
        "x-resourceId": "payment_source"
      },
      "payout": {
        "description": "A `Payout` object is created when you receive funds from Stripe, or when you\ninitiate a payout to either a bank account or debit card of a [connected\nStripe account](/docs/connect/bank-debit-card-payouts). You can retrieve individual payouts,\nas well as list all payouts. Payouts are made on [varying\nschedules](/docs/connect/manage-payout-schedule), depending on your country and\nindustry.\n\nRelated guide: [Receiving Payouts](https://stripe.com/docs/payouts).",
        "properties": {
          "amount": {
            "description": "Amount (in %s) to be transferred to your bank account or debit card.",
            "type": "integer"
          },
          "arrival_date": {
            "description": "Date the payout is expected to arrive in the bank. This factors in delays like weekends or bank holidays.",
            "format": "unix-time",
            "type": "integer"
          },
          "automatic": {
            "description": "Returns `true` if the payout was created by an [automated payout schedule](https://stripe.com/docs/payouts#payout-schedule), and `false` if it was [requested manually](https://stripe.com/docs/payouts#manual-payouts).",
            "type": "boolean"
          },
          "balance_transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/balance_transaction"
              }
            ],
            "description": "ID of the balance transaction that describes the impact of this payout on your account balance.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/balance_transaction"
                }
              ]
            }
          },
          "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).",
            "type": "string"
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "destination": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/bank_account"
              },
              {
                "$ref": "#/components/schemas/card"
              },
              {
                "$ref": "#/components/schemas/deleted_bank_account"
              },
              {
                "$ref": "#/components/schemas/deleted_card"
              }
            ],
            "description": "ID of the bank account or card the payout was sent to.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/bank_account"
                },
                {
                  "$ref": "#/components/schemas/card"
                },
                {
                  "$ref": "#/components/schemas/deleted_bank_account"
                },
                {
                  "$ref": "#/components/schemas/deleted_card"
                }
              ]
            }
          },
          "failure_balance_transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/balance_transaction"
              }
            ],
            "description": "If the payout failed or was canceled, this will be the ID of the balance transaction that reversed the initial balance transaction, and puts the funds from the failed payout back in your balance.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/balance_transaction"
                }
              ]
            }
          },
          "failure_code": {
            "description": "Error code explaining reason for payout failure if available. See [Types of payout failures](https://stripe.com/docs/api#payout_failures) for a list of failure codes.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "failure_message": {
            "description": "Message to user further explaining reason for payout failure if available.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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://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.",
            "nullable": true,
            "type": "object"
          },
          "method": {
            "description": "The method used to send this payout, which can be `standard` or `instant`. `instant` is only supported for payouts to debit cards. (See [Instant payouts for marketplaces](https://stripe.com/blog/instant-payouts-for-marketplaces) for more information.)",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["payout"],
            "type": "string"
          },
          "original_payout": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payout"
              }
            ],
            "description": "If the payout reverses another, this is the ID of the original payout.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payout"
                }
              ]
            }
          },
          "reversed_by": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payout"
              }
            ],
            "description": "If the payout was reversed, this is the ID of the payout that reverses this payout.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payout"
                }
              ]
            }
          },
          "source_type": {
            "description": "The source balance this payout came from. One of `card`, `fpx`, or `bank_account`.",
            "maxLength": 5000,
            "type": "string"
          },
          "statement_descriptor": {
            "description": "Extra information about a payout to be displayed on the user's bank statement.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "status": {
            "description": "Current status of the payout: `paid`, `pending`, `in_transit`, `canceled` or `failed`. A payout is `pending` until it is submitted to the bank, when it becomes `in_transit`. The status then changes to `paid` if the transaction goes through, or to `failed` or `canceled` (within 5 business days). Some failed payouts may initially show as `paid` but then change to `failed`.",
            "maxLength": 5000,
            "type": "string"
          },
          "type": {
            "description": "Can be `bank_account` or `card`.",
            "enum": ["bank_account", "card"],
            "type": "string"
          }
        },
        "required": [
          "amount",
          "arrival_date",
          "automatic",
          "created",
          "currency",
          "id",
          "livemode",
          "method",
          "object",
          "source_type",
          "status",
          "type"
        ],
        "title": "Payout",
        "type": "object",
        "x-expandableFields": [
          "balance_transaction",
          "destination",
          "failure_balance_transaction",
          "original_payout",
          "reversed_by"
        ],
        "x-resourceId": "payout"
      },
      "period": {
        "description": "",
        "properties": {
          "end": {
            "description": "The end date of this usage period. All usage up to and including this point in time is included.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "start": {
            "description": "The start date of this usage period. All usage after this point in time is included.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "Period",
        "type": "object",
        "x-expandableFields": []
      },
      "person": {
        "description": "This is an object representing a person associated with a Stripe account.\n\nA platform cannot access a Standard or Express account's persons after the account starts onboarding, such as after generating an account link for the account.\nSee the [Standard onboarding](https://stripe.com/docs/connect/standard-accounts) or [Express onboarding documentation](https://stripe.com/docs/connect/express-accounts) for information about platform pre-filling and account onboarding steps.\n\nRelated guide: [Handling Identity Verification with the API](https://stripe.com/docs/connect/identity-verification-api#person-information).",
        "properties": {
          "account": {
            "description": "The account the person is associated with.",
            "maxLength": 5000,
            "type": "string"
          },
          "address": {
            "$ref": "#/components/schemas/address"
          },
          "address_kana": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/legal_entity_japan_address"
              }
            ],
            "nullable": true
          },
          "address_kanji": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/legal_entity_japan_address"
              }
            ],
            "nullable": true
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "dob": {
            "$ref": "#/components/schemas/legal_entity_dob"
          },
          "email": {
            "description": "The person's email address.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "first_name": {
            "description": "The person's first name.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "first_name_kana": {
            "description": "The Kana variation of the person's first name (Japan only).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "first_name_kanji": {
            "description": "The Kanji variation of the person's first name (Japan only).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "gender": {
            "description": "The person's gender (International regulations require either \"male\" or \"female\").",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "id_number_provided": {
            "description": "Whether the person's `id_number` was provided.",
            "type": "boolean"
          },
          "last_name": {
            "description": "The person's last name.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "last_name_kana": {
            "description": "The Kana variation of the person's last name (Japan only).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "last_name_kanji": {
            "description": "The Kanji variation of the person's last name (Japan only).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "maiden_name": {
            "description": "The person's maiden name.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "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"
          },
          "nationality": {
            "description": "The country where the person is a national.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["person"],
            "type": "string"
          },
          "phone": {
            "description": "The person's phone number.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "political_exposure": {
            "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.",
            "enum": ["existing", "none"],
            "type": "string"
          },
          "relationship": {
            "$ref": "#/components/schemas/person_relationship"
          },
          "requirements": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/person_requirements"
              }
            ],
            "nullable": true
          },
          "ssn_last_4_provided": {
            "description": "Whether the last four digits of the person's Social Security number have been provided (U.S. only).",
            "type": "boolean"
          },
          "verification": {
            "$ref": "#/components/schemas/legal_entity_person_verification"
          }
        },
        "required": ["account", "created", "id", "object"],
        "title": "Person",
        "type": "object",
        "x-expandableFields": [
          "address",
          "address_kana",
          "address_kanji",
          "dob",
          "relationship",
          "requirements",
          "verification"
        ],
        "x-resourceId": "person"
      },
      "person_relationship": {
        "description": "",
        "properties": {
          "director": {
            "description": "Whether the person is a director of the account's legal entity. Currently only required for accounts in the EU. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations.",
            "nullable": true,
            "type": "boolean"
          },
          "executive": {
            "description": "Whether the person has significant responsibility to control, manage, or direct the organization.",
            "nullable": true,
            "type": "boolean"
          },
          "owner": {
            "description": "Whether the person is an owner of the account’s legal entity.",
            "nullable": true,
            "type": "boolean"
          },
          "percent_ownership": {
            "description": "The percent owned by the person of the account's legal entity.",
            "nullable": true,
            "type": "number"
          },
          "representative": {
            "description": "Whether the person is authorized as the primary representative of the account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account.",
            "nullable": true,
            "type": "boolean"
          },
          "title": {
            "description": "The person's title (e.g., CEO, Support Engineer).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "PersonRelationship",
        "type": "object",
        "x-expandableFields": []
      },
      "person_requirements": {
        "description": "",
        "properties": {
          "currently_due": {
            "description": "Fields that need to be collected to keep the person's account enabled. If not collected by the account's `current_deadline`, these fields appear in `past_due` as well, and the account is disabled.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "errors": {
            "description": "The fields that are `currently_due` and need to be collected again because validation or verification failed for some reason.",
            "items": {
              "$ref": "#/components/schemas/account_requirements_error"
            },
            "type": "array"
          },
          "eventually_due": {
            "description": "Fields that need to be collected assuming all volume thresholds are reached. As fields are needed, they are moved to `currently_due` and the account's `current_deadline` is set.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "past_due": {
            "description": "Fields that weren't collected by the account's `current_deadline`. These fields need to be collected to enable payouts for the person's account.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "pending_verification": {
            "description": "Fields that may become required depending on the results of verification or review. An empty array unless an asynchronous verification is pending. If verification fails, the fields in this array become required and move to `currently_due` or `past_due`.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": ["currently_due", "errors", "eventually_due", "past_due", "pending_verification"],
        "title": "PersonRequirements",
        "type": "object",
        "x-expandableFields": ["errors"]
      },
      "plan": {
        "description": "You can now model subscriptions more flexibly using the [Prices API](https://stripe.com/docs/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration.\n\nPlans define the base price, currency, and billing cycle for recurring purchases of products.\n[Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and prices](https://stripe.com/docs/billing/prices-guide).",
        "properties": {
          "active": {
            "description": "Whether the plan can be used for new purchases.",
            "type": "boolean"
          },
          "aggregate_usage": {
            "description": "Specifies a usage aggregation strategy for plans of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`.",
            "enum": ["last_during_period", "last_ever", "max", "sum"],
            "nullable": true,
            "type": "string"
          },
          "amount": {
            "description": "The unit amount in %s to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`.",
            "nullable": true,
            "type": "integer"
          },
          "amount_decimal": {
            "description": "The unit amount in %s to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`.",
            "format": "decimal",
            "nullable": true,
            "type": "string"
          },
          "billing_scheme": {
            "description": "Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes.",
            "enum": ["per_unit", "tiered"],
            "type": "string"
          },
          "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).",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "interval": {
            "description": "The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`.",
            "enum": ["day", "month", "week", "year"],
            "type": "string"
          },
          "interval_count": {
            "description": "The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months.",
            "type": "integer"
          },
          "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.",
            "nullable": true,
            "type": "object"
          },
          "nickname": {
            "description": "A brief description of the plan, hidden from customers.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["plan"],
            "type": "string"
          },
          "product": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/product"
              },
              {
                "$ref": "#/components/schemas/deleted_product"
              }
            ],
            "description": "The product whose pricing this plan determines.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/product"
                },
                {
                  "$ref": "#/components/schemas/deleted_product"
                }
              ]
            }
          },
          "tiers": {
            "description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`.",
            "items": {
              "$ref": "#/components/schemas/plan_tier"
            },
            "type": "array"
          },
          "tiers_mode": {
            "description": "Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows.",
            "enum": ["graduated", "volume"],
            "nullable": true,
            "type": "string"
          },
          "transform_usage": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/transform_usage"
              }
            ],
            "description": "Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`.",
            "nullable": true
          },
          "trial_period_days": {
            "description": "Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan).",
            "nullable": true,
            "type": "integer"
          },
          "usage_type": {
            "description": "Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`.",
            "enum": ["licensed", "metered"],
            "type": "string"
          }
        },
        "required": [
          "active",
          "billing_scheme",
          "created",
          "currency",
          "id",
          "interval",
          "interval_count",
          "livemode",
          "object",
          "usage_type"
        ],
        "title": "Plan",
        "type": "object",
        "x-expandableFields": ["product", "tiers", "transform_usage"],
        "x-resourceId": "plan"
      },
      "plan_tier": {
        "description": "",
        "properties": {
          "flat_amount": {
            "description": "Price for the entire tier.",
            "nullable": true,
            "type": "integer"
          },
          "flat_amount_decimal": {
            "description": "Same as `flat_amount`, but contains a decimal value with at most 12 decimal places.",
            "format": "decimal",
            "nullable": true,
            "type": "string"
          },
          "unit_amount": {
            "description": "Per unit price for units relevant to the tier.",
            "nullable": true,
            "type": "integer"
          },
          "unit_amount_decimal": {
            "description": "Same as `unit_amount`, but contains a decimal value with at most 12 decimal places.",
            "format": "decimal",
            "nullable": true,
            "type": "string"
          },
          "up_to": {
            "description": "Up to and including to this quantity will be contained in the tier.",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "PlanTier",
        "type": "object",
        "x-expandableFields": []
      },
      "platform_tax_fee": {
        "description": "",
        "properties": {
          "account": {
            "description": "The Connected account that incurred this charge.",
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["platform_tax_fee"],
            "type": "string"
          },
          "source_transaction": {
            "description": "The payment object that caused this tax to be inflicted.",
            "maxLength": 5000,
            "type": "string"
          },
          "type": {
            "description": "The type of tax (VAT).",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["account", "id", "object", "source_transaction", "type"],
        "title": "PlatformTax",
        "type": "object",
        "x-expandableFields": []
      },
      "portal_business_profile": {
        "description": "",
        "properties": {
          "headline": {
            "description": "The messaging shown to customers in the portal.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "privacy_policy_url": {
            "description": "A link to the business’s publicly available privacy policy.",
            "maxLength": 5000,
            "type": "string"
          },
          "terms_of_service_url": {
            "description": "A link to the business’s publicly available terms of service.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["privacy_policy_url", "terms_of_service_url"],
        "title": "PortalBusinessProfile",
        "type": "object",
        "x-expandableFields": []
      },
      "portal_customer_update": {
        "description": "",
        "properties": {
          "allowed_updates": {
            "description": "The types of customer updates that are supported. When empty, customers are not updateable.",
            "items": {
              "enum": ["address", "email", "phone", "shipping", "tax_id"],
              "type": "string"
            },
            "type": "array"
          },
          "enabled": {
            "description": "Whether the feature is enabled.",
            "type": "boolean"
          }
        },
        "required": ["allowed_updates", "enabled"],
        "title": "PortalCustomerUpdate",
        "type": "object",
        "x-expandableFields": []
      },
      "portal_features": {
        "description": "",
        "properties": {
          "customer_update": {
            "$ref": "#/components/schemas/portal_customer_update"
          },
          "invoice_history": {
            "$ref": "#/components/schemas/portal_invoice_list"
          },
          "payment_method_update": {
            "$ref": "#/components/schemas/portal_payment_method_update"
          },
          "subscription_cancel": {
            "$ref": "#/components/schemas/portal_subscription_cancel"
          },
          "subscription_pause": {
            "$ref": "#/components/schemas/portal_subscription_pause"
          },
          "subscription_update": {
            "$ref": "#/components/schemas/portal_subscription_update"
          }
        },
        "required": [
          "customer_update",
          "invoice_history",
          "payment_method_update",
          "subscription_cancel",
          "subscription_pause",
          "subscription_update"
        ],
        "title": "PortalFeatures",
        "type": "object",
        "x-expandableFields": [
          "customer_update",
          "invoice_history",
          "payment_method_update",
          "subscription_cancel",
          "subscription_pause",
          "subscription_update"
        ]
      },
      "portal_invoice_list": {
        "description": "",
        "properties": {
          "enabled": {
            "description": "Whether the feature is enabled.",
            "type": "boolean"
          }
        },
        "required": ["enabled"],
        "title": "PortalInvoiceList",
        "type": "object",
        "x-expandableFields": []
      },
      "portal_payment_method_update": {
        "description": "",
        "properties": {
          "enabled": {
            "description": "Whether the feature is enabled.",
            "type": "boolean"
          }
        },
        "required": ["enabled"],
        "title": "PortalPaymentMethodUpdate",
        "type": "object",
        "x-expandableFields": []
      },
      "portal_subscription_cancel": {
        "description": "",
        "properties": {
          "enabled": {
            "description": "Whether the feature is enabled.",
            "type": "boolean"
          },
          "mode": {
            "description": "Whether to cancel subscriptions immediately or at the end of the billing period.",
            "enum": ["at_period_end", "immediately"],
            "type": "string"
          },
          "proration_behavior": {
            "description": "Whether to create prorations when canceling subscriptions. Possible values are `none` and `create_prorations`.",
            "enum": ["always_invoice", "create_prorations", "none"],
            "type": "string"
          }
        },
        "required": ["enabled", "mode", "proration_behavior"],
        "title": "PortalSubscriptionCancel",
        "type": "object",
        "x-expandableFields": []
      },
      "portal_subscription_pause": {
        "description": "",
        "properties": {
          "enabled": {
            "description": "Whether the feature is enabled.",
            "type": "boolean"
          }
        },
        "required": ["enabled"],
        "title": "PortalSubscriptionPause",
        "type": "object",
        "x-expandableFields": []
      },
      "portal_subscription_update": {
        "description": "",
        "properties": {
          "default_allowed_updates": {
            "description": "The types of subscription updates that are supported for items listed in the `products` attribute. When empty, subscriptions are not updateable.",
            "items": {
              "enum": ["price", "promotion_code", "quantity"],
              "type": "string"
            },
            "type": "array"
          },
          "enabled": {
            "description": "Whether the feature is enabled.",
            "type": "boolean"
          },
          "products": {
            "description": "The list of products that support subscription updates.",
            "items": {
              "$ref": "#/components/schemas/portal_subscription_update_product"
            },
            "nullable": true,
            "type": "array"
          },
          "proration_behavior": {
            "description": "Determines how to handle prorations resulting from subscription updates. Valid values are `none`, `create_prorations`, and `always_invoice`.",
            "enum": ["always_invoice", "create_prorations", "none"],
            "type": "string"
          }
        },
        "required": ["default_allowed_updates", "enabled", "proration_behavior"],
        "title": "PortalSubscriptionUpdate",
        "type": "object",
        "x-expandableFields": ["products"]
      },
      "portal_subscription_update_product": {
        "description": "",
        "properties": {
          "prices": {
            "description": "The list of price IDs which, when subscribed to, a subscription can be updated.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "product": {
            "description": "The product ID.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["prices", "product"],
        "title": "PortalSubscriptionUpdateProduct",
        "type": "object",
        "x-expandableFields": []
      },
      "price": {
        "description": "Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products.\n[Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has prices for $10/month, $100/year, and €9 once.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription), [create an invoice](https://stripe.com/docs/billing/invoices/create), and more about [products and prices](https://stripe.com/docs/billing/prices-guide).",
        "properties": {
          "active": {
            "description": "Whether the price can be used for new purchases.",
            "type": "boolean"
          },
          "billing_scheme": {
            "description": "Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `unit_amount` or `unit_amount_decimal`) will be charged per unit in `quantity` (for prices with `usage_type=licensed`), or per unit of total usage (for prices with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes.",
            "enum": ["per_unit", "tiered"],
            "type": "string"
          },
          "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).",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "lookup_key": {
            "description": "A lookup key used to retrieve prices dynamically from a static string.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "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"
          },
          "nickname": {
            "description": "A brief description of the price, hidden from customers.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["price"],
            "type": "string"
          },
          "product": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/product"
              },
              {
                "$ref": "#/components/schemas/deleted_product"
              }
            ],
            "description": "The ID of the product this price is associated with.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/product"
                },
                {
                  "$ref": "#/components/schemas/deleted_product"
                }
              ]
            }
          },
          "recurring": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/recurring"
              }
            ],
            "description": "The recurring components of a price such as `interval` and `usage_type`.",
            "nullable": true
          },
          "tiers": {
            "description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`.",
            "items": {
              "$ref": "#/components/schemas/price_tier"
            },
            "type": "array"
          },
          "tiers_mode": {
            "description": "Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price. In `graduated` tiering, pricing can change as the quantity grows.",
            "enum": ["graduated", "volume"],
            "nullable": true,
            "type": "string"
          },
          "transform_quantity": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/transform_quantity"
              }
            ],
            "description": "Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with `tiers`.",
            "nullable": true
          },
          "type": {
            "description": "One of `one_time` or `recurring` depending on whether the price is for a one-time purchase or a recurring (subscription) purchase.",
            "enum": ["one_time", "recurring"],
            "type": "string"
          },
          "unit_amount": {
            "description": "The unit amount in %s to be charged, represented as a whole integer if possible. Only set if `billing_scheme=per_unit`.",
            "nullable": true,
            "type": "integer"
          },
          "unit_amount_decimal": {
            "description": "The unit amount in %s to be charged, represented as a decimal string with at most 12 decimal places. Only set if `billing_scheme=per_unit`.",
            "format": "decimal",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "active",
          "billing_scheme",
          "created",
          "currency",
          "id",
          "livemode",
          "metadata",
          "object",
          "product",
          "type"
        ],
        "title": "Price",
        "type": "object",
        "x-expandableFields": ["product", "recurring", "tiers", "transform_quantity"],
        "x-resourceId": "price"
      },
      "price_tier": {
        "description": "",
        "properties": {
          "flat_amount": {
            "description": "Price for the entire tier.",
            "nullable": true,
            "type": "integer"
          },
          "flat_amount_decimal": {
            "description": "Same as `flat_amount`, but contains a decimal value with at most 12 decimal places.",
            "format": "decimal",
            "nullable": true,
            "type": "string"
          },
          "unit_amount": {
            "description": "Per unit price for units relevant to the tier.",
            "nullable": true,
            "type": "integer"
          },
          "unit_amount_decimal": {
            "description": "Same as `unit_amount`, but contains a decimal value with at most 12 decimal places.",
            "format": "decimal",
            "nullable": true,
            "type": "string"
          },
          "up_to": {
            "description": "Up to and including to this quantity will be contained in the tier.",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "PriceTier",
        "type": "object",
        "x-expandableFields": []
      },
      "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 Checkout and Subscriptions.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) or accept [one-time payments with Checkout](https://stripe.com/docs/payments/checkout/client#create-products) and more about [Products and Prices](https://stripe.com/docs/billing/prices-guide)",
        "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"
          },
          "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,
            "nullable": true,
            "type": "string"
          },
          "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. Whenever this product is sold via a subscription, name will show up on associated invoice line item descriptions.",
            "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": "#/components/schemas/package_dimensions"
              }
            ],
            "description": "The dimensions of this product for shipping purposes.",
            "nullable": true
          },
          "shippable": {
            "description": "Whether this product is shipped (i.e., physical goods).",
            "nullable": true,
            "type": "boolean"
          },
          "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,
            "nullable": true,
            "type": "string"
          },
          "unit_label": {
            "description": "A label that represents units of this product in Stripe and on customers’ receipts and invoices. When set, this will be included in associated invoice line item descriptions.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "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,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["active", "created", "id", "images", "livemode", "metadata", "name", "object", "updated"],
        "title": "Product",
        "type": "object",
        "x-expandableFields": ["package_dimensions"],
        "x-resourceId": "product"
      },
      "promotion_code": {
        "description": "A Promotion Code represents a customer-redeemable code for a coupon. It can be used to\ncreate multiple codes for a single coupon.",
        "properties": {
          "active": {
            "description": "Whether the promotion code is currently active. A promotion code is only active if the coupon is also valid.",
            "type": "boolean"
          },
          "code": {
            "description": "The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for each customer.",
            "maxLength": 5000,
            "type": "string"
          },
          "coupon": {
            "$ref": "#/components/schemas/coupon"
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "The customer that this promotion code can be used by.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "expires_at": {
            "description": "Date at which the promotion code can no longer be redeemed.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "max_redemptions": {
            "description": "Maximum number of times this promotion code can be redeemed.",
            "nullable": true,
            "type": "integer"
          },
          "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.",
            "nullable": true,
            "type": "object"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["promotion_code"],
            "type": "string"
          },
          "restrictions": {
            "$ref": "#/components/schemas/promotion_codes_resource_restrictions"
          },
          "times_redeemed": {
            "description": "Number of times this promotion code has been used.",
            "type": "integer"
          }
        },
        "required": [
          "active",
          "code",
          "coupon",
          "created",
          "id",
          "livemode",
          "object",
          "restrictions",
          "times_redeemed"
        ],
        "title": "PromotionCode",
        "type": "object",
        "x-expandableFields": ["coupon", "customer", "restrictions"],
        "x-resourceId": "promotion_code"
      },
      "promotion_codes_resource_restrictions": {
        "description": "",
        "properties": {
          "first_time_transaction": {
            "description": "A Boolean indicating if the Promotion Code should only be redeemed for Customers without any successful payments or invoices",
            "type": "boolean"
          },
          "minimum_amount": {
            "description": "Minimum amount required to redeem this Promotion Code into a Coupon (e.g., a purchase must be $100 or more to work).",
            "nullable": true,
            "type": "integer"
          },
          "minimum_amount_currency": {
            "description": "Three-letter [ISO code](https://stripe.com/docs/currencies) for minimum_amount",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["first_time_transaction"],
        "title": "PromotionCodesResourceRestrictions",
        "type": "object",
        "x-expandableFields": []
      },
      "radar.early_fraud_warning": {
        "description": "An early fraud warning indicates that the card issuer has notified us that a\ncharge may be fraudulent.\n\nRelated guide: [Early Fraud Warnings](https://stripe.com/docs/disputes/measuring#early-fraud-warnings).",
        "properties": {
          "actionable": {
            "description": "An EFW is actionable if it has not received a dispute and has not been fully refunded. You may wish to proactively refund a charge that receives an EFW, in order to avoid receiving a dispute later.",
            "type": "boolean"
          },
          "charge": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/charge"
              }
            ],
            "description": "ID of the charge this early fraud warning is for, optionally expanded.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/charge"
                }
              ]
            }
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "fraud_type": {
            "description": "The type of fraud labelled by the issuer. One of `card_never_received`, `fraudulent_card_application`, `made_with_counterfeit_card`, `made_with_lost_card`, `made_with_stolen_card`, `misc`, `unauthorized_use_of_card`.",
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["radar.early_fraud_warning"],
            "type": "string"
          }
        },
        "required": ["actionable", "charge", "created", "fraud_type", "id", "livemode", "object"],
        "title": "RadarEarlyFraudWarning",
        "type": "object",
        "x-expandableFields": ["charge"],
        "x-resourceId": "radar.early_fraud_warning"
      },
      "radar.value_list": {
        "description": "Value lists allow you to group values together which can then be referenced in rules.\n\nRelated guide: [Default Stripe Lists](https://stripe.com/docs/radar/lists#managing-list-items).",
        "properties": {
          "alias": {
            "description": "The name of the value list for use in rules.",
            "maxLength": 5000,
            "type": "string"
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "created_by": {
            "description": "The name or email address of the user who created this value list.",
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "item_type": {
            "description": "The type of items in the value list. One of `card_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, or `case_sensitive_string`.",
            "enum": [
              "card_bin",
              "card_fingerprint",
              "case_sensitive_string",
              "country",
              "email",
              "ip_address",
              "string"
            ],
            "type": "string"
          },
          "list_items": {
            "description": "List of items contained within this value list.",
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "$ref": "#/components/schemas/radar.value_list_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": "RadarListListItemList",
            "type": "object",
            "x-expandableFields": ["data"]
          },
          "livemode": {
            "description": "Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.",
            "type": "boolean"
          },
          "metadata": {
            "additionalProperties": {
              "maxLength": 500,
              "type": "string"
            },
            "description": "Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.",
            "type": "object"
          },
          "name": {
            "description": "The name of the value list.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["radar.value_list"],
            "type": "string"
          }
        },
        "required": [
          "alias",
          "created",
          "created_by",
          "id",
          "item_type",
          "list_items",
          "livemode",
          "metadata",
          "name",
          "object"
        ],
        "title": "RadarListList",
        "type": "object",
        "x-expandableFields": ["list_items"],
        "x-resourceId": "radar.value_list"
      },
      "radar.value_list_item": {
        "description": "Value list items allow you to add specific values to a given Radar value list, which can then be used in rules.\n\nRelated guide: [Managing List Items](https://stripe.com/docs/radar/lists#managing-list-items).",
        "properties": {
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "created_by": {
            "description": "The name or email address of the user who added this item to the value list.",
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["radar.value_list_item"],
            "type": "string"
          },
          "value": {
            "description": "The value of the item.",
            "maxLength": 5000,
            "type": "string"
          },
          "value_list": {
            "description": "The identifier of the value list this item belongs to.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["created", "created_by", "id", "livemode", "object", "value", "value_list"],
        "title": "RadarListListItem",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "radar.value_list_item"
      },
      "radar_review_resource_location": {
        "description": "",
        "properties": {
          "city": {
            "description": "The city where the payment originated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "country": {
            "description": "Two-letter ISO code representing the country where the payment originated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "latitude": {
            "description": "The geographic latitude where the payment originated.",
            "nullable": true,
            "type": "number"
          },
          "longitude": {
            "description": "The geographic longitude where the payment originated.",
            "nullable": true,
            "type": "number"
          },
          "region": {
            "description": "The state/county/province/region where the payment originated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "RadarReviewResourceLocation",
        "type": "object",
        "x-expandableFields": []
      },
      "radar_review_resource_session": {
        "description": "",
        "properties": {
          "browser": {
            "description": "The browser used in this browser session (e.g., `Chrome`).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "device": {
            "description": "Information about the device used for the browser session (e.g., `Samsung SM-G930T`).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "platform": {
            "description": "The platform for the browser session (e.g., `Macintosh`).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "version": {
            "description": "The version for the browser session (e.g., `61.0.3163.100`).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "RadarReviewResourceSession",
        "type": "object",
        "x-expandableFields": []
      },
      "recipient": {
        "description": "With `Recipient` objects, you can transfer money from your Stripe account to a\nthird-party bank account or debit card. The API allows you to create, delete,\nand update your recipients. You can retrieve individual recipients as well as\na list of all your recipients.\n\n**`Recipient` objects have been deprecated in favor of\n[Connect](https://stripe.com/docs/connect), specifically Connect's much more powerful\n[Account objects](https://stripe.com/docs/api#account). Stripe accounts that don't already use\nrecipients can no longer begin doing so. Please use `Account` objects\ninstead.**",
        "properties": {
          "active_account": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/bank_account"
              }
            ],
            "description": "Hash describing the current account on the recipient, if there is one.",
            "nullable": true
          },
          "cards": {
            "description": "",
            "nullable": true,
            "properties": {
              "data": {
                "items": {
                  "$ref": "#/components/schemas/card"
                },
                "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": "CardList",
            "type": "object",
            "x-expandableFields": ["data"]
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "default_card": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/card"
              }
            ],
            "description": "The default card to use for creating transfers to this recipient.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/card"
                }
              ]
            }
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "email": {
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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://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"
          },
          "migrated_to": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "The ID of the [Custom account](https://stripe.com/docs/connect/custom-accounts) this recipient was migrated to. If set, the recipient can no longer be updated, nor can transfers be made to it: use the Custom account instead.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          },
          "name": {
            "description": "Full, legal name of the recipient.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["recipient"],
            "type": "string"
          },
          "rolled_back_from": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          },
          "type": {
            "description": "Type of the recipient, one of `individual` or `corporation`.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["created", "id", "livemode", "metadata", "object", "type"],
        "title": "TransferRecipient",
        "type": "object",
        "x-expandableFields": ["active_account", "cards", "default_card", "migrated_to", "rolled_back_from"],
        "x-resourceId": "recipient"
      },
      "recurring": {
        "description": "",
        "properties": {
          "aggregate_usage": {
            "description": "Specifies a usage aggregation strategy for prices of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`.",
            "enum": ["last_during_period", "last_ever", "max", "sum"],
            "nullable": true,
            "type": "string"
          },
          "interval": {
            "description": "The frequency at which a subscription is billed. One of `day`, `week`, `month` or `year`.",
            "enum": ["day", "month", "week", "year"],
            "type": "string"
          },
          "interval_count": {
            "description": "The number of intervals (specified in the `interval` attribute) between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months.",
            "type": "integer"
          },
          "usage_type": {
            "description": "Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`.",
            "enum": ["licensed", "metered"],
            "type": "string"
          }
        },
        "required": ["interval", "interval_count", "usage_type"],
        "title": "Recurring",
        "type": "object",
        "x-expandableFields": []
      },
      "refund": {
        "description": "`Refund` objects allow you to refund a charge that has previously been created\nbut not yet refunded. Funds will be refunded to the credit or debit card that\nwas originally charged.\n\nRelated guide: [Refunds](https://stripe.com/docs/refunds).",
        "properties": {
          "amount": {
            "description": "Amount, in %s.",
            "type": "integer"
          },
          "balance_transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/balance_transaction"
              }
            ],
            "description": "Balance transaction that describes the impact on your account balance.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/balance_transaction"
                }
              ]
            }
          },
          "charge": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/charge"
              }
            ],
            "description": "ID of the charge that was refunded.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/charge"
                }
              ]
            }
          },
          "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).",
            "type": "string"
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users. (Available on non-card refunds only)",
            "maxLength": 5000,
            "type": "string"
          },
          "failure_balance_transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/balance_transaction"
              }
            ],
            "description": "If the refund failed, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/balance_transaction"
                }
              ]
            }
          },
          "failure_reason": {
            "description": "If the refund failed, the reason for refund failure if known. Possible values are `lost_or_stolen_card`, `expired_or_canceled_card`, or `unknown`.",
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "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.",
            "nullable": true,
            "type": "object"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["refund"],
            "type": "string"
          },
          "payment_intent": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_intent"
              }
            ],
            "description": "ID of the PaymentIntent that was refunded.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_intent"
                }
              ]
            }
          },
          "reason": {
            "description": "Reason for the refund, either user-provided (`duplicate`, `fraudulent`, or `requested_by_customer`) or generated by Stripe internally (`expired_uncaptured_charge`).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "receipt_number": {
            "description": "This is the transaction number that appears on email receipts sent for this refund.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "source_transfer_reversal": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/transfer_reversal"
              }
            ],
            "description": "The transfer reversal that is associated with the refund. Only present if the charge came from another Stripe account. See the Connect documentation for details.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/transfer_reversal"
                }
              ]
            }
          },
          "status": {
            "description": "Status of the refund. For credit card refunds, this can be `pending`, `succeeded`, or `failed`. For other types of refunds, it can be `pending`, `succeeded`, `failed`, or `canceled`. Refer to our [refunds](https://stripe.com/docs/refunds#failed-refunds) documentation for more details.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "transfer_reversal": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/transfer_reversal"
              }
            ],
            "description": "If the accompanying transfer was reversed, the transfer reversal object. Only applicable if the charge was created using the destination parameter.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/transfer_reversal"
                }
              ]
            }
          }
        },
        "required": ["amount", "created", "currency", "id", "object"],
        "title": "Refund",
        "type": "object",
        "x-expandableFields": [
          "balance_transaction",
          "charge",
          "failure_balance_transaction",
          "payment_intent",
          "source_transfer_reversal",
          "transfer_reversal"
        ],
        "x-resourceId": "refund"
      },
      "reporting.report_run": {
        "description": "The Report Run object represents an instance of a report type generated with\nspecific run parameters. Once the object is created, Stripe begins processing the report.\nWhen the report has finished running, it will give you a reference to a file\nwhere you can retrieve your results. For an overview, see\n[API Access to Reports](https://stripe.com/docs/reporting/statements/api).\n\nNote that certain report types can only be run based on your live-mode data (not test-mode\ndata), and will error when queried without a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).",
        "properties": {
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "error": {
            "description": "If something should go wrong during the run, a message about the failure (populated when\n `status=failed`).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "livemode": {
            "description": "`true` if the report is run on live mode data and `false` if it is run on test mode data.",
            "type": "boolean"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["reporting.report_run"],
            "type": "string"
          },
          "parameters": {
            "$ref": "#/components/schemas/financial_reporting_finance_report_run_run_parameters"
          },
          "report_type": {
            "description": "The ID of the [report type](https://stripe.com/docs/reports/report-types) to run, such as `\"balance.summary.1\"`.",
            "maxLength": 5000,
            "type": "string"
          },
          "result": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "The file object representing the result of the report run (populated when\n `status=succeeded`).",
            "nullable": true
          },
          "status": {
            "description": "Status of this report run. This will be `pending` when the run is initially created.\n When the run finishes, this will be set to `succeeded` and the `result` field will be populated.\n Rarely, we may encounter an error, at which point this will be set to `failed` and the `error` field will be populated.",
            "maxLength": 5000,
            "type": "string"
          },
          "succeeded_at": {
            "description": "Timestamp at which this run successfully finished (populated when\n `status=succeeded`). Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          }
        },
        "required": ["created", "id", "livemode", "object", "parameters", "report_type", "status"],
        "title": "reporting_report_run",
        "type": "object",
        "x-expandableFields": ["parameters", "result"],
        "x-resourceId": "reporting.report_run"
      },
      "reporting.report_type": {
        "description": "The Report Type resource corresponds to a particular type of report, such as\nthe \"Activity summary\" or \"Itemized payouts\" reports. These objects are\nidentified by an ID belonging to a set of enumerated values. See\n[API Access to Reports documentation](https://stripe.com/docs/reporting/statements/api)\nfor those Report Type IDs, along with required and optional parameters.\n\nNote that certain report types can only be run based on your live-mode data (not test-mode\ndata), and will error when queried without a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).",
        "properties": {
          "data_available_end": {
            "description": "Most recent time for which this Report Type is available. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "data_available_start": {
            "description": "Earliest time for which this Report Type is available. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "default_columns": {
            "description": "List of column names that are included by default when this Report Type gets run. (If the Report Type doesn't support the `columns` parameter, this will be null.)",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "id": {
            "description": "The [ID of the Report Type](https://stripe.com/docs/reporting/statements/api#available-report-types), such as `balance.summary.1`.",
            "maxLength": 5000,
            "type": "string"
          },
          "name": {
            "description": "Human-readable name of the Report Type",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["reporting.report_type"],
            "type": "string"
          },
          "updated": {
            "description": "When this Report Type was latest updated. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "version": {
            "description": "Version of the Report Type. Different versions report with the same ID will have the same purpose, but may take different run parameters or have different result schemas.",
            "type": "integer"
          }
        },
        "required": ["data_available_end", "data_available_start", "id", "name", "object", "updated", "version"],
        "title": "reporting_report_type",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "reporting.report_type"
      },
      "reserve_transaction": {
        "description": "",
        "properties": {
          "amount": {
            "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).",
            "type": "string"
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["reserve_transaction"],
            "type": "string"
          }
        },
        "required": ["amount", "currency", "id", "object"],
        "title": "ReserveTransaction",
        "type": "object",
        "x-expandableFields": []
      },
      "review": {
        "description": "Reviews can be used to supplement automated fraud detection with human expertise.\n\nLearn more about [Radar](/radar) and reviewing payments\n[here](https://stripe.com/docs/radar/reviews).",
        "properties": {
          "billing_zip": {
            "description": "The ZIP or postal code of the card used, if applicable.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "charge": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/charge"
              }
            ],
            "description": "The charge associated with this review.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/charge"
                }
              ]
            }
          },
          "closed_reason": {
            "description": "The reason the review was closed, or null if it has not yet been closed. One of `approved`, `refunded`, `refunded_as_fraud`, or `disputed`.",
            "enum": ["approved", "disputed", "refunded", "refunded_as_fraud"],
            "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"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "ip_address": {
            "description": "The IP address where the payment originated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "ip_address_location": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/radar_review_resource_location"
              }
            ],
            "description": "Information related to the location of the payment. Note that this information is an approximation and attempts to locate the nearest population center - it should not be used to determine a specific address.",
            "nullable": true
          },
          "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["review"],
            "type": "string"
          },
          "open": {
            "description": "If `true`, the review needs action.",
            "type": "boolean"
          },
          "opened_reason": {
            "description": "The reason the review was opened. One of `rule` or `manual`.",
            "enum": ["manual", "rule"],
            "type": "string"
          },
          "payment_intent": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_intent"
              }
            ],
            "description": "The PaymentIntent ID associated with this review, if one exists.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_intent"
                }
              ]
            }
          },
          "reason": {
            "description": "The reason the review is currently open or closed. One of `rule`, `manual`, `approved`, `refunded`, `refunded_as_fraud`, or `disputed`.",
            "maxLength": 5000,
            "type": "string"
          },
          "session": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/radar_review_resource_session"
              }
            ],
            "description": "Information related to the browsing session of the user who initiated the payment.",
            "nullable": true
          }
        },
        "required": ["created", "id", "livemode", "object", "open", "opened_reason", "reason"],
        "title": "RadarReview",
        "type": "object",
        "x-expandableFields": ["charge", "ip_address_location", "payment_intent", "session"],
        "x-resourceId": "review"
      },
      "rule": {
        "description": "",
        "properties": {
          "action": {
            "description": "The action taken on the payment.",
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "predicate": {
            "description": "The predicate to evaluate the payment against.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["action", "id", "predicate"],
        "title": "RadarRule",
        "type": "object",
        "x-expandableFields": []
      },
      "scheduled_query_run": {
        "description": "If you have [scheduled a Sigma query](https://stripe.com/docs/sigma/scheduled-queries), you'll\nreceive a `sigma.scheduled_query_run.created` webhook each time the query\nruns. The webhook contains a `ScheduledQueryRun` object, which you can use to\nretrieve the query results.",
        "properties": {
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "data_load_time": {
            "description": "When the query was run, Sigma contained a snapshot of your Stripe data at this time.",
            "format": "unix-time",
            "type": "integer"
          },
          "error": {
            "$ref": "#/components/schemas/sigma_scheduled_query_run_error"
          },
          "file": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/file"
              }
            ],
            "description": "The file object representing the results of the query.",
            "nullable": true
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["scheduled_query_run"],
            "type": "string"
          },
          "result_available_until": {
            "description": "Time at which the result expires and is no longer available for download.",
            "format": "unix-time",
            "type": "integer"
          },
          "sql": {
            "description": "SQL for the query.",
            "maxLength": 100000,
            "type": "string"
          },
          "status": {
            "description": "The query's execution status, which will be `completed` for successful runs, and `canceled`, `failed`, or `timed_out` otherwise.",
            "maxLength": 5000,
            "type": "string"
          },
          "title": {
            "description": "Title of the query.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": [
          "created",
          "data_load_time",
          "id",
          "livemode",
          "object",
          "result_available_until",
          "sql",
          "status",
          "title"
        ],
        "title": "ScheduledQueryRun",
        "type": "object",
        "x-expandableFields": ["error", "file"],
        "x-resourceId": "scheduled_query_run"
      },
      "sepa_debit_generated_from": {
        "description": "",
        "properties": {
          "charge": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/charge"
              }
            ],
            "description": "The ID of the Charge that generated this PaymentMethod, if any.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/charge"
                }
              ]
            }
          },
          "setup_attempt": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/setup_attempt"
              }
            ],
            "description": "The ID of the SetupAttempt that generated this PaymentMethod, if any.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/setup_attempt"
                }
              ]
            }
          }
        },
        "title": "sepa_debit_generated_from",
        "type": "object",
        "x-expandableFields": ["charge", "setup_attempt"]
      },
      "setup_attempt": {
        "description": "A SetupAttempt describes one attempted confirmation of a SetupIntent,\nwhether that confirmation was successful or unsuccessful. You can use\nSetupAttempts to inspect details of a specific attempt at setting up a\npayment method using a SetupIntent.",
        "properties": {
          "application": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/application"
              }
            ],
            "description": "The value of [application](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-application) on the SetupIntent at the time of this confirmation.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/application"
                }
              ]
            }
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "The value of [customer](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-customer) on the SetupIntent at the time of this confirmation.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["setup_attempt"],
            "type": "string"
          },
          "on_behalf_of": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "The value of [on_behalf_of](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-on_behalf_of) on the SetupIntent at the time of this confirmation.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          },
          "payment_method": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "ID of the payment method used with this SetupAttempt.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "payment_method_details": {
            "$ref": "#/components/schemas/setup_attempt_payment_method_details"
          },
          "setup_error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/api_errors"
              }
            ],
            "description": "The error encountered during this attempt to confirm the SetupIntent, if any.",
            "nullable": true
          },
          "setup_intent": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/setup_intent"
              }
            ],
            "description": "ID of the SetupIntent that this attempt belongs to.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/setup_intent"
                }
              ]
            }
          },
          "status": {
            "description": "Status of this SetupAttempt, one of `requires_confirmation`, `requires_action`, `processing`, `succeeded`, `failed`, or `abandoned`.",
            "maxLength": 5000,
            "type": "string"
          },
          "usage": {
            "description": "The value of [usage](https://stripe.com/docs/api/setup_intents/object#setup_intent_object-usage) on the SetupIntent at the time of this confirmation, one of `off_session` or `on_session`.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": [
          "created",
          "id",
          "livemode",
          "object",
          "payment_method",
          "payment_method_details",
          "setup_intent",
          "status",
          "usage"
        ],
        "title": "PaymentFlowsSetupIntentSetupAttempt",
        "type": "object",
        "x-expandableFields": [
          "application",
          "customer",
          "on_behalf_of",
          "payment_method",
          "payment_method_details",
          "setup_error",
          "setup_intent"
        ],
        "x-resourceId": "setup_attempt"
      },
      "setup_attempt_payment_method_details": {
        "description": "",
        "properties": {
          "au_becs_debit": {
            "$ref": "#/components/schemas/setup_attempt_payment_method_details_au_becs_debit"
          },
          "bacs_debit": {
            "$ref": "#/components/schemas/setup_attempt_payment_method_details_bacs_debit"
          },
          "bancontact": {
            "$ref": "#/components/schemas/setup_attempt_payment_method_details_bancontact"
          },
          "card": {
            "$ref": "#/components/schemas/setup_attempt_payment_method_details_card"
          },
          "card_present": {
            "$ref": "#/components/schemas/setup_attempt_payment_method_details_card_present"
          },
          "ideal": {
            "$ref": "#/components/schemas/setup_attempt_payment_method_details_ideal"
          },
          "sepa_debit": {
            "$ref": "#/components/schemas/setup_attempt_payment_method_details_sepa_debit"
          },
          "sofort": {
            "$ref": "#/components/schemas/setup_attempt_payment_method_details_sofort"
          },
          "type": {
            "description": "The type of the payment method used in the SetupIntent (e.g., `card`). An additional hash is included on `payment_method_details` with a name matching this value. It contains confirmation-specific information for the payment method.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["type"],
        "title": "SetupAttemptPaymentMethodDetails",
        "type": "object",
        "x-expandableFields": [
          "au_becs_debit",
          "bacs_debit",
          "bancontact",
          "card",
          "card_present",
          "ideal",
          "sepa_debit",
          "sofort"
        ]
      },
      "setup_attempt_payment_method_details_au_becs_debit": {
        "description": "",
        "properties": {},
        "title": "setup_attempt_payment_method_details_au_becs_debit",
        "type": "object",
        "x-expandableFields": []
      },
      "setup_attempt_payment_method_details_bacs_debit": {
        "description": "",
        "properties": {},
        "title": "setup_attempt_payment_method_details_bacs_debit",
        "type": "object",
        "x-expandableFields": []
      },
      "setup_attempt_payment_method_details_bancontact": {
        "description": "",
        "properties": {
          "bank_code": {
            "description": "Bank code of bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "bank_name": {
            "description": "Name of the bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "bic": {
            "description": "Bank Identifier Code of the bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "generated_sepa_debit": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "generated_sepa_debit_mandate": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/mandate"
              }
            ],
            "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/mandate"
                }
              ]
            }
          },
          "iban_last4": {
            "description": "Last four characters of the IBAN.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "preferred_language": {
            "description": "Preferred language of the Bancontact authorization page that the customer is redirected to.\nCan be one of `en`, `de`, `fr`, or `nl`",
            "enum": ["de", "en", "fr", "nl"],
            "nullable": true,
            "type": "string"
          },
          "verified_name": {
            "description": "Owner's verified full name. Values are verified or provided by Bancontact directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "setup_attempt_payment_method_details_bancontact",
        "type": "object",
        "x-expandableFields": ["generated_sepa_debit", "generated_sepa_debit_mandate"]
      },
      "setup_attempt_payment_method_details_card": {
        "description": "",
        "properties": {
          "three_d_secure": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/three_d_secure_details"
              }
            ],
            "description": "Populated if this authorization used 3D Secure authentication.",
            "nullable": true
          }
        },
        "title": "setup_attempt_payment_method_details_card",
        "type": "object",
        "x-expandableFields": ["three_d_secure"]
      },
      "setup_attempt_payment_method_details_card_present": {
        "description": "",
        "properties": {
          "generated_card": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "The ID of the Card PaymentMethod which was generated by this SetupAttempt.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          }
        },
        "title": "setup_attempt_payment_method_details_card_present",
        "type": "object",
        "x-expandableFields": ["generated_card"]
      },
      "setup_attempt_payment_method_details_ideal": {
        "description": "",
        "properties": {
          "bank": {
            "description": "The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, or `van_lanschot`.",
            "enum": [
              "abn_amro",
              "asn_bank",
              "bunq",
              "handelsbanken",
              "ing",
              "knab",
              "moneyou",
              "rabobank",
              "regiobank",
              "revolut",
              "sns_bank",
              "triodos_bank",
              "van_lanschot"
            ],
            "nullable": true,
            "type": "string"
          },
          "bic": {
            "description": "The Bank Identifier Code of the customer's bank.",
            "enum": [
              "ABNANL2A",
              "ASNBNL21",
              "BUNQNL2A",
              "FVLBNL22",
              "HANDNL2A",
              "INGBNL2A",
              "KNABNL2H",
              "MOYONL21",
              "RABONL2U",
              "RBRBNL21",
              "REVOLT21",
              "SNSBNL2A",
              "TRIONL2U"
            ],
            "nullable": true,
            "type": "string"
          },
          "generated_sepa_debit": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "generated_sepa_debit_mandate": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/mandate"
              }
            ],
            "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/mandate"
                }
              ]
            }
          },
          "iban_last4": {
            "description": "Last four characters of the IBAN.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "verified_name": {
            "description": "Owner's verified full name. Values are verified or provided by iDEAL directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "setup_attempt_payment_method_details_ideal",
        "type": "object",
        "x-expandableFields": ["generated_sepa_debit", "generated_sepa_debit_mandate"]
      },
      "setup_attempt_payment_method_details_sepa_debit": {
        "description": "",
        "properties": {},
        "title": "setup_attempt_payment_method_details_sepa_debit",
        "type": "object",
        "x-expandableFields": []
      },
      "setup_attempt_payment_method_details_sofort": {
        "description": "",
        "properties": {
          "bank_code": {
            "description": "Bank code of bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "bank_name": {
            "description": "Name of the bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "bic": {
            "description": "Bank Identifier Code of the bank associated with the bank account.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "generated_sepa_debit": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "The ID of the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "generated_sepa_debit_mandate": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/mandate"
              }
            ],
            "description": "The mandate for the SEPA Direct Debit PaymentMethod which was generated by this SetupAttempt.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/mandate"
                }
              ]
            }
          },
          "iban_last4": {
            "description": "Last four characters of the IBAN.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "preferred_language": {
            "description": "Preferred language of the Sofort authorization page that the customer is redirected to.\nCan be one of `en`, `de`, `fr`, or `nl`",
            "enum": ["de", "en", "fr", "nl"],
            "nullable": true,
            "type": "string"
          },
          "verified_name": {
            "description": "Owner's verified full name. Values are verified or provided by Sofort directly\n(if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "setup_attempt_payment_method_details_sofort",
        "type": "object",
        "x-expandableFields": ["generated_sepa_debit", "generated_sepa_debit_mandate"]
      },
      "setup_intent": {
        "description": "A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.\nFor example, you could use a SetupIntent to set up and save your customer's card without immediately collecting a payment.\nLater, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.\n\nCreate a SetupIntent as soon as you're ready to collect your customer's payment credentials.\nDo not maintain long-lived, unconfirmed SetupIntents as they may no longer be valid.\nThe SetupIntent then transitions through multiple [statuses](https://stripe.com/docs/payments/intents#intent-statuses) as it guides\nyou through the setup process.\n\nSuccessful SetupIntents result in payment credentials that are optimized for future payments.\nFor example, cardholders in [certain regions](/guides/strong-customer-authentication) may need to be run through\n[Strong Customer Authentication](https://stripe.com/docs/strong-customer-authentication) at the time of payment method collection\nin order to streamline later [off-session payments](https://stripe.com/docs/payments/setup-intents).\nIf the SetupIntent is used with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer), upon success,\nit will automatically attach the resulting payment method to that Customer.\nWe recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on\nPaymentIntents to save payment methods in order to prevent saving invalid or unoptimized payment methods.\n\nBy using SetupIntents, you ensure that your customers experience the minimum set of required friction,\neven as regulations change over time.\n\nRelated guide: [Setup Intents API](https://stripe.com/docs/payments/setup-intents).",
        "properties": {
          "application": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/application"
              }
            ],
            "description": "ID of the Connect application that created the SetupIntent.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/application"
                }
              ]
            }
          },
          "cancellation_reason": {
            "description": "Reason for cancellation of this SetupIntent, one of `abandoned`, `requested_by_customer`, or `duplicate`.",
            "enum": ["abandoned", "duplicate", "requested_by_customer"],
            "nullable": true,
            "type": "string"
          },
          "client_secret": {
            "description": "The client secret of this SetupIntent. Used for client-side retrieval using a publishable key.\n\nThe client secret can be used to complete payment setup from your frontend. It should not be stored, logged, embedded in URLs, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret.",
            "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"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "ID of the Customer this SetupIntent belongs to, if one exists.\n\nIf present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "last_setup_error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/api_errors"
              }
            ],
            "description": "The error encountered in the previous SetupIntent confirmation.",
            "nullable": true
          },
          "latest_attempt": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/setup_attempt"
              }
            ],
            "description": "The most recent SetupAttempt for this SetupIntent.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/setup_attempt"
                }
              ]
            }
          },
          "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"
          },
          "mandate": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/mandate"
              }
            ],
            "description": "ID of the multi use Mandate generated by the SetupIntent.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/mandate"
                }
              ]
            }
          },
          "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.",
            "nullable": true,
            "type": "object"
          },
          "next_action": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/setup_intent_next_action"
              }
            ],
            "description": "If present, this property tells you what actions you need to take in order for your customer to continue payment setup.",
            "nullable": true
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["setup_intent"],
            "type": "string"
          },
          "on_behalf_of": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "The account (if any) for which the setup is intended.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          },
          "payment_method": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "ID of the payment method used with this SetupIntent.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "payment_method_options": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/setup_intent_payment_method_options"
              }
            ],
            "description": "Payment-method-specific configuration for this SetupIntent.",
            "nullable": true
          },
          "payment_method_types": {
            "description": "The list of payment method types (e.g. card) that this SetupIntent is allowed to set up.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "single_use_mandate": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/mandate"
              }
            ],
            "description": "ID of the single_use Mandate generated by the SetupIntent.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/mandate"
                }
              ]
            }
          },
          "status": {
            "description": "[Status](https://stripe.com/docs/payments/intents#intent-statuses) of this SetupIntent, one of `requires_payment_method`, `requires_confirmation`, `requires_action`, `processing`, `canceled`, or `succeeded`.",
            "enum": [
              "canceled",
              "processing",
              "requires_action",
              "requires_confirmation",
              "requires_payment_method",
              "succeeded"
            ],
            "type": "string"
          },
          "usage": {
            "description": "Indicates how the payment method is intended to be used in the future.\n\nUse `on_session` if you intend to only reuse the payment method when the customer is in your checkout flow. Use `off_session` if your customer may or may not be in your checkout flow. If not provided, this value defaults to `off_session`.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["created", "id", "livemode", "object", "payment_method_types", "status", "usage"],
        "title": "SetupIntent",
        "type": "object",
        "x-expandableFields": [
          "application",
          "customer",
          "last_setup_error",
          "latest_attempt",
          "mandate",
          "next_action",
          "on_behalf_of",
          "payment_method",
          "payment_method_options",
          "single_use_mandate"
        ],
        "x-resourceId": "setup_intent"
      },
      "setup_intent_next_action": {
        "description": "",
        "properties": {
          "redirect_to_url": {
            "$ref": "#/components/schemas/setup_intent_next_action_redirect_to_url"
          },
          "type": {
            "description": "Type of the next action to perform, one of `redirect_to_url`, `use_stripe_sdk`, `alipay_handle_redirect`, or `oxxo_display_details`.",
            "maxLength": 5000,
            "type": "string"
          },
          "use_stripe_sdk": {
            "description": "When confirming a SetupIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js.",
            "type": "object"
          }
        },
        "required": ["type"],
        "title": "SetupIntentNextAction",
        "type": "object",
        "x-expandableFields": ["redirect_to_url"]
      },
      "setup_intent_next_action_redirect_to_url": {
        "description": "",
        "properties": {
          "return_url": {
            "description": "If the customer does not exit their browser while authenticating, they will be redirected to this specified URL after completion.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "url": {
            "description": "The URL you must redirect your customer to in order to authenticate.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "SetupIntentNextActionRedirectToUrl",
        "type": "object",
        "x-expandableFields": []
      },
      "setup_intent_payment_method_options": {
        "description": "",
        "properties": {
          "card": {
            "$ref": "#/components/schemas/setup_intent_payment_method_options_card"
          },
          "sepa_debit": {
            "$ref": "#/components/schemas/setup_intent_payment_method_options_sepa_debit"
          }
        },
        "title": "SetupIntentPaymentMethodOptions",
        "type": "object",
        "x-expandableFields": ["card", "sepa_debit"]
      },
      "setup_intent_payment_method_options_card": {
        "description": "",
        "properties": {
          "request_three_d_secure": {
            "description": "We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Permitted values include: `automatic` or `any`. If not provided, defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.",
            "enum": ["any", "automatic", "challenge_only"],
            "nullable": true,
            "type": "string"
          }
        },
        "title": "setup_intent_payment_method_options_card",
        "type": "object",
        "x-expandableFields": []
      },
      "setup_intent_payment_method_options_mandate_options_sepa_debit": {
        "description": "",
        "properties": {},
        "title": "setup_intent_payment_method_options_mandate_options_sepa_debit",
        "type": "object",
        "x-expandableFields": []
      },
      "setup_intent_payment_method_options_sepa_debit": {
        "description": "",
        "properties": {
          "mandate_options": {
            "$ref": "#/components/schemas/setup_intent_payment_method_options_mandate_options_sepa_debit"
          }
        },
        "title": "setup_intent_payment_method_options_sepa_debit",
        "type": "object",
        "x-expandableFields": ["mandate_options"]
      },
      "shipping": {
        "description": "",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/address"
          },
          "carrier": {
            "description": "The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Recipient name.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "phone": {
            "description": "Recipient phone (including extension).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "tracking_number": {
            "description": "The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "Shipping",
        "type": "object",
        "x-expandableFields": ["address"]
      },
      "shipping_method": {
        "description": "",
        "properties": {
          "amount": {
            "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the line item.",
            "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).",
            "type": "string"
          },
          "delivery_estimate": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/delivery_estimate"
              }
            ],
            "description": "The estimated delivery date for the given shipping method. Can be either a specific date or a range.",
            "nullable": true
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["amount", "currency", "description", "id"],
        "title": "ShippingMethod",
        "type": "object",
        "x-expandableFields": ["delivery_estimate"]
      },
      "sigma_scheduled_query_run_error": {
        "description": "",
        "properties": {
          "message": {
            "description": "Information about the run failure.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["message"],
        "title": "SigmaScheduledQueryRunError",
        "type": "object",
        "x-expandableFields": []
      },
      "sku": {
        "description": "Stores representations of [stock keeping units](http://en.wikipedia.org/wiki/Stock_keeping_unit).\nSKUs describe specific product variations, taking into account any combination of: attributes,\ncurrency, and cost. For example, a product may be a T-shirt, whereas a specific SKU represents\nthe `size: large`, `color: red` version of that shirt.\n\nCan also be used to manage inventory.\n\nRelated guide: [Tax, Shipping, and Inventory](https://stripe.com/docs/orders).",
        "properties": {
          "active": {
            "description": "Whether the SKU is available for purchase.",
            "type": "boolean"
          },
          "attributes": {
            "additionalProperties": {
              "maxLength": 5000,
              "type": "string"
            },
            "description": "A dictionary of attributes and values for the attributes defined by the product. If, for example, a product's attributes are `[\"size\", \"gender\"]`, a valid SKU has the following dictionary of attributes: `{\"size\": \"Medium\", \"gender\": \"Unisex\"}`.",
            "type": "object"
          },
          "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).",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "image": {
            "description": "The URL of an image for this SKU, meant to be displayable to the customer.",
            "maxLength": 2048,
            "nullable": true,
            "type": "string"
          },
          "inventory": {
            "$ref": "#/components/schemas/inventory"
          },
          "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["sku"],
            "type": "string"
          },
          "package_dimensions": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/package_dimensions"
              }
            ],
            "description": "The dimensions of this SKU for shipping purposes.",
            "nullable": true
          },
          "price": {
            "description": "The cost of the item as a positive integer in the smallest currency unit (that is, 100 cents to charge $1.00, or 100 to charge ¥100, Japanese Yen being a zero-decimal currency).",
            "type": "integer"
          },
          "product": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/product"
              }
            ],
            "description": "The ID of the product this SKU is associated with. The product must be currently active.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/product"
                }
              ]
            }
          },
          "updated": {
            "description": "Time at which the object was last updated. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          }
        },
        "required": [
          "active",
          "attributes",
          "created",
          "currency",
          "id",
          "inventory",
          "livemode",
          "metadata",
          "object",
          "price",
          "product",
          "updated"
        ],
        "title": "Sku",
        "type": "object",
        "x-expandableFields": ["inventory", "package_dimensions", "product"],
        "x-resourceId": "sku"
      },
      "source": {
        "description": "`Source` objects allow you to accept a variety of payment methods. They\nrepresent a customer's payment instrument, and can be used with the Stripe API\njust like a `Card` object: once chargeable, they can be charged, or can be\nattached to customers.\n\nRelated guides: [Sources API](https://stripe.com/docs/sources) and [Sources & Customers](https://stripe.com/docs/sources/customers).",
        "properties": {
          "ach_credit_transfer": {
            "$ref": "#/components/schemas/source_type_ach_credit_transfer"
          },
          "ach_debit": {
            "$ref": "#/components/schemas/source_type_ach_debit"
          },
          "alipay": {
            "$ref": "#/components/schemas/source_type_alipay"
          },
          "amount": {
            "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources.",
            "nullable": true,
            "type": "integer"
          },
          "au_becs_debit": {
            "$ref": "#/components/schemas/source_type_au_becs_debit"
          },
          "bancontact": {
            "$ref": "#/components/schemas/source_type_bancontact"
          },
          "card": {
            "$ref": "#/components/schemas/source_type_card"
          },
          "card_present": {
            "$ref": "#/components/schemas/source_type_card_present"
          },
          "client_secret": {
            "description": "The client secret of the source. Used for client-side retrieval using a publishable key.",
            "maxLength": 5000,
            "type": "string"
          },
          "code_verification": {
            "$ref": "#/components/schemas/source_code_verification_flow"
          },
          "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 code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready. Required for `single_use` sources.",
            "nullable": true,
            "type": "string"
          },
          "customer": {
            "description": "The ID of the customer to which this source is attached. This will not be present when the source has not been attached to a customer.",
            "maxLength": 5000,
            "type": "string"
          },
          "eps": {
            "$ref": "#/components/schemas/source_type_eps"
          },
          "flow": {
            "description": "The authentication `flow` of the source. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`.",
            "maxLength": 5000,
            "type": "string"
          },
          "giropay": {
            "$ref": "#/components/schemas/source_type_giropay"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "ideal": {
            "$ref": "#/components/schemas/source_type_ideal"
          },
          "klarna": {
            "$ref": "#/components/schemas/source_type_klarna"
          },
          "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.",
            "nullable": true,
            "type": "object"
          },
          "multibanco": {
            "$ref": "#/components/schemas/source_type_multibanco"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["source"],
            "type": "string"
          },
          "owner": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/source_owner"
              }
            ],
            "description": "Information about the owner of the payment instrument that may be used or required by particular source types.",
            "nullable": true
          },
          "p24": {
            "$ref": "#/components/schemas/source_type_p24"
          },
          "receiver": {
            "$ref": "#/components/schemas/source_receiver_flow"
          },
          "redirect": {
            "$ref": "#/components/schemas/source_redirect_flow"
          },
          "sepa_debit": {
            "$ref": "#/components/schemas/source_type_sepa_debit"
          },
          "sofort": {
            "$ref": "#/components/schemas/source_type_sofort"
          },
          "source_order": {
            "$ref": "#/components/schemas/source_order"
          },
          "statement_descriptor": {
            "description": "Extra information about a source. This will appear on your customer's statement every time you charge the source.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "status": {
            "description": "The status of the source, one of `canceled`, `chargeable`, `consumed`, `failed`, or `pending`. Only `chargeable` sources can be used to create a charge.",
            "maxLength": 5000,
            "type": "string"
          },
          "three_d_secure": {
            "$ref": "#/components/schemas/source_type_three_d_secure"
          },
          "type": {
            "description": "The `type` of the source. The `type` is a payment method, one of `ach_credit_transfer`, `ach_debit`, `alipay`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `multibanco`, `klarna`, `p24`, `sepa_debit`, `sofort`, `three_d_secure`, or `wechat`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https://stripe.com/docs/sources) used.",
            "enum": [
              "ach_credit_transfer",
              "ach_debit",
              "alipay",
              "au_becs_debit",
              "bancontact",
              "card",
              "card_present",
              "eps",
              "giropay",
              "ideal",
              "klarna",
              "multibanco",
              "p24",
              "sepa_debit",
              "sofort",
              "three_d_secure",
              "wechat"
            ],
            "type": "string",
            "x-stripeBypassValidation": true
          },
          "usage": {
            "description": "Either `reusable` or `single_use`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "wechat": {
            "$ref": "#/components/schemas/source_type_wechat"
          }
        },
        "required": ["client_secret", "created", "flow", "id", "livemode", "object", "status", "type"],
        "title": "Source",
        "type": "object",
        "x-expandableFields": ["code_verification", "owner", "receiver", "redirect", "source_order"],
        "x-resourceId": "source"
      },
      "source_code_verification_flow": {
        "description": "",
        "properties": {
          "attempts_remaining": {
            "description": "The number of attempts remaining to authenticate the source object with a verification code.",
            "type": "integer"
          },
          "status": {
            "description": "The status of the code verification, either `pending` (awaiting verification, `attempts_remaining` should be greater than 0), `succeeded` (successful verification) or `failed` (failed verification, cannot be verified anymore as `attempts_remaining` should be 0).",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["attempts_remaining", "status"],
        "title": "SourceCodeVerificationFlow",
        "type": "object",
        "x-expandableFields": []
      },
      "source_mandate_notification": {
        "description": "Source mandate notifications should be created when a notification related to\na source mandate must be sent to the payer. They will trigger a webhook or\ndeliver an email to the customer.",
        "properties": {
          "acss_debit": {
            "$ref": "#/components/schemas/source_mandate_notification_acss_debit_data"
          },
          "amount": {
            "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the amount associated with the mandate notification. The amount is expressed in the currency of the underlying source. Required if the notification type is `debit_initiated`.",
            "nullable": true,
            "type": "integer"
          },
          "bacs_debit": {
            "$ref": "#/components/schemas/source_mandate_notification_bacs_debit_data"
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["source_mandate_notification"],
            "type": "string"
          },
          "reason": {
            "description": "The reason of the mandate notification. Valid reasons are `mandate_confirmed` or `debit_initiated`.",
            "maxLength": 5000,
            "type": "string"
          },
          "sepa_debit": {
            "$ref": "#/components/schemas/source_mandate_notification_sepa_debit_data"
          },
          "source": {
            "$ref": "#/components/schemas/source"
          },
          "status": {
            "description": "The status of the mandate notification. Valid statuses are `pending` or `submitted`.",
            "maxLength": 5000,
            "type": "string"
          },
          "type": {
            "description": "The type of source this mandate notification is attached to. Should be the source type identifier code for the payment method, such as `three_d_secure`.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["created", "id", "livemode", "object", "reason", "source", "status", "type"],
        "title": "SourceMandateNotification",
        "type": "object",
        "x-expandableFields": ["acss_debit", "bacs_debit", "sepa_debit", "source"],
        "x-resourceId": "source_mandate_notification"
      },
      "source_mandate_notification_acss_debit_data": {
        "description": "",
        "properties": {
          "statement_descriptor": {
            "description": "The statement descriptor associate with the debit.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "title": "SourceMandateNotificationAcssDebitData",
        "type": "object",
        "x-expandableFields": []
      },
      "source_mandate_notification_bacs_debit_data": {
        "description": "",
        "properties": {
          "last4": {
            "description": "Last 4 digits of the account number associated with the debit.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "title": "SourceMandateNotificationBacsDebitData",
        "type": "object",
        "x-expandableFields": []
      },
      "source_mandate_notification_sepa_debit_data": {
        "description": "",
        "properties": {
          "creditor_identifier": {
            "description": "SEPA creditor ID.",
            "maxLength": 5000,
            "type": "string"
          },
          "last4": {
            "description": "Last 4 digits of the account number associated with the debit.",
            "maxLength": 5000,
            "type": "string"
          },
          "mandate_reference": {
            "description": "Mandate reference associated with the debit.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "title": "SourceMandateNotificationSepaDebitData",
        "type": "object",
        "x-expandableFields": []
      },
      "source_order": {
        "description": "",
        "properties": {
          "amount": {
            "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the order.",
            "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).",
            "type": "string"
          },
          "email": {
            "description": "The email address of the customer placing the order.",
            "maxLength": 5000,
            "type": "string"
          },
          "items": {
            "description": "List of items constituting the order.",
            "items": {
              "$ref": "#/components/schemas/source_order_item"
            },
            "nullable": true,
            "type": "array"
          },
          "shipping": {
            "$ref": "#/components/schemas/shipping"
          }
        },
        "required": ["amount", "currency"],
        "title": "SourceOrder",
        "type": "object",
        "x-expandableFields": ["items", "shipping"]
      },
      "source_order_item": {
        "description": "",
        "properties": {
          "amount": {
            "description": "The amount (price) for this order item.",
            "nullable": true,
            "type": "integer"
          },
          "currency": {
            "description": "This currency of this order item. Required when `amount` is present.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "description": {
            "description": "Human-readable description for this order item.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "parent": {
            "description": "The ID of the associated object for this line item. Expandable if not null (e.g., expandable to a SKU).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "quantity": {
            "description": "The quantity of this order item. When type is `sku`, this is the number of instances of the SKU to be ordered.",
            "type": "integer"
          },
          "type": {
            "description": "The type of this order item. Must be `sku`, `tax`, or `shipping`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "SourceOrderItem",
        "type": "object",
        "x-expandableFields": []
      },
      "source_owner": {
        "description": "",
        "properties": {
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "Owner's address.",
            "nullable": true
          },
          "email": {
            "description": "Owner's email address.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Owner's full name.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "phone": {
            "description": "Owner's phone number (including extension).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "verified_address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/address"
              }
            ],
            "description": "Verified owner's address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "nullable": true
          },
          "verified_email": {
            "description": "Verified owner's email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "verified_name": {
            "description": "Verified owner's full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "verified_phone": {
            "description": "Verified owner's phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "title": "SourceOwner",
        "type": "object",
        "x-expandableFields": ["address", "verified_address"]
      },
      "source_receiver_flow": {
        "description": "",
        "properties": {
          "address": {
            "description": "The address of the receiver source. This is the value that should be communicated to the customer to send their funds to.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "amount_charged": {
            "description": "The total amount that was moved to your balance. This is almost always equal to the amount charged. In rare cases when customers deposit excess funds and we are unable to refund those, those funds get moved to your balance and show up in amount_charged as well. The amount charged is expressed in the source's currency.",
            "type": "integer"
          },
          "amount_received": {
            "description": "The total amount received by the receiver source. `amount_received = amount_returned + amount_charged` should be true for consumed sources unless customers deposit excess funds. The amount received is expressed in the source's currency.",
            "type": "integer"
          },
          "amount_returned": {
            "description": "The total amount that was returned to the customer. The amount returned is expressed in the source's currency.",
            "type": "integer"
          },
          "refund_attributes_method": {
            "description": "Type of refund attribute method, one of `email`, `manual`, or `none`.",
            "maxLength": 5000,
            "type": "string"
          },
          "refund_attributes_status": {
            "description": "Type of refund attribute status, one of `missing`, `requested`, or `available`.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": [
          "amount_charged",
          "amount_received",
          "amount_returned",
          "refund_attributes_method",
          "refund_attributes_status"
        ],
        "title": "SourceReceiverFlow",
        "type": "object",
        "x-expandableFields": []
      },
      "source_redirect_flow": {
        "description": "",
        "properties": {
          "failure_reason": {
            "description": "The failure reason for the redirect, either `user_abort` (the customer aborted or dropped out of the redirect flow), `declined` (the authentication failed or the transaction was declined), or `processing_error` (the redirect failed due to a technical error). Present only if the redirect status is `failed`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "return_url": {
            "description": "The URL you provide to redirect the customer to after they authenticated their payment.",
            "maxLength": 5000,
            "type": "string"
          },
          "status": {
            "description": "The status of the redirect, either `pending` (ready to be used by your customer to authenticate the transaction), `succeeded` (succesful authentication, cannot be reused) or `not_required` (redirect should not be used) or `failed` (failed authentication, cannot be reused).",
            "maxLength": 5000,
            "type": "string"
          },
          "url": {
            "description": "The URL provided to you to redirect a customer to as part of a `redirect` authentication flow.",
            "maxLength": 2048,
            "type": "string"
          }
        },
        "required": ["return_url", "status", "url"],
        "title": "SourceRedirectFlow",
        "type": "object",
        "x-expandableFields": []
      },
      "source_transaction": {
        "description": "Some payment methods have no required amount that a customer must send.\nCustomers can be instructed to send any amount, and it can be made up of\nmultiple transactions. As such, sources can have multiple associated\ntransactions.",
        "properties": {
          "ach_credit_transfer": {
            "$ref": "#/components/schemas/source_transaction_ach_credit_transfer_data"
          },
          "amount": {
            "description": "A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the amount your customer has pushed to the receiver.",
            "type": "integer"
          },
          "chf_credit_transfer": {
            "$ref": "#/components/schemas/source_transaction_chf_credit_transfer_data"
          },
          "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).",
            "type": "string"
          },
          "gbp_credit_transfer": {
            "$ref": "#/components/schemas/source_transaction_gbp_credit_transfer_data"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["source_transaction"],
            "type": "string"
          },
          "paper_check": {
            "$ref": "#/components/schemas/source_transaction_paper_check_data"
          },
          "sepa_credit_transfer": {
            "$ref": "#/components/schemas/source_transaction_sepa_credit_transfer_data"
          },
          "source": {
            "description": "The ID of the source this transaction is attached to.",
            "maxLength": 5000,
            "type": "string"
          },
          "status": {
            "description": "The status of the transaction, one of `succeeded`, `pending`, or `failed`.",
            "maxLength": 5000,
            "type": "string"
          },
          "type": {
            "description": "The type of source this transaction is attached to.",
            "enum": [
              "ach_credit_transfer",
              "ach_debit",
              "alipay",
              "bancontact",
              "card",
              "card_present",
              "eps",
              "giropay",
              "ideal",
              "klarna",
              "multibanco",
              "p24",
              "sepa_debit",
              "sofort",
              "three_d_secure",
              "wechat"
            ],
            "type": "string"
          }
        },
        "required": ["amount", "created", "currency", "id", "livemode", "object", "source", "status", "type"],
        "title": "SourceTransaction",
        "type": "object",
        "x-expandableFields": [
          "ach_credit_transfer",
          "chf_credit_transfer",
          "gbp_credit_transfer",
          "paper_check",
          "sepa_credit_transfer"
        ],
        "x-resourceId": "source_transaction"
      },
      "source_transaction_ach_credit_transfer_data": {
        "description": "",
        "properties": {
          "customer_data": {
            "description": "Customer data associated with the transfer.",
            "maxLength": 5000,
            "type": "string"
          },
          "fingerprint": {
            "description": "Bank account fingerprint associated with the transfer.",
            "maxLength": 5000,
            "type": "string"
          },
          "last4": {
            "description": "Last 4 digits of the account number associated with the transfer.",
            "maxLength": 5000,
            "type": "string"
          },
          "routing_number": {
            "description": "Routing number associated with the transfer.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "title": "SourceTransactionAchCreditTransferData",
        "type": "object",
        "x-expandableFields": []
      },
      "source_transaction_chf_credit_transfer_data": {
        "description": "",
        "properties": {
          "reference": {
            "description": "Reference associated with the transfer.",
            "maxLength": 5000,
            "type": "string"
          },
          "sender_address_country": {
            "description": "Sender's country address.",
            "maxLength": 5000,
            "type": "string"
          },
          "sender_address_line1": {
            "description": "Sender's line 1 address.",
            "maxLength": 5000,
            "type": "string"
          },
          "sender_iban": {
            "description": "Sender's bank account IBAN.",
            "maxLength": 5000,
            "type": "string"
          },
          "sender_name": {
            "description": "Sender's name.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "title": "SourceTransactionChfCreditTransferData",
        "type": "object",
        "x-expandableFields": []
      },
      "source_transaction_gbp_credit_transfer_data": {
        "description": "",
        "properties": {
          "fingerprint": {
            "description": "Bank account fingerprint associated with the Stripe owned bank account receiving the transfer.",
            "maxLength": 5000,
            "type": "string"
          },
          "funding_method": {
            "description": "The credit transfer rails the sender used to push this transfer. The possible rails are: Faster Payments, BACS, CHAPS, and wire transfers. Currently only Faster Payments is supported.",
            "maxLength": 5000,
            "type": "string"
          },
          "last4": {
            "description": "Last 4 digits of sender account number associated with the transfer.",
            "maxLength": 5000,
            "type": "string"
          },
          "reference": {
            "description": "Sender entered arbitrary information about the transfer.",
            "maxLength": 5000,
            "type": "string"
          },
          "sender_account_number": {
            "description": "Sender account number associated with the transfer.",
            "maxLength": 5000,
            "type": "string"
          },
          "sender_name": {
            "description": "Sender name associated with the transfer.",
            "maxLength": 5000,
            "type": "string"
          },
          "sender_sort_code": {
            "description": "Sender sort code associated with the transfer.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "title": "SourceTransactionGbpCreditTransferData",
        "type": "object",
        "x-expandableFields": []
      },
      "source_transaction_paper_check_data": {
        "description": "",
        "properties": {
          "available_at": {
            "description": "Time at which the deposited funds will be available for use. Measured in seconds since the Unix epoch.",
            "maxLength": 5000,
            "type": "string"
          },
          "invoices": {
            "description": "Comma-separated list of invoice IDs associated with the paper check.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "title": "SourceTransactionPaperCheckData",
        "type": "object",
        "x-expandableFields": []
      },
      "source_transaction_sepa_credit_transfer_data": {
        "description": "",
        "properties": {
          "reference": {
            "description": "Reference associated with the transfer.",
            "maxLength": 5000,
            "type": "string"
          },
          "sender_iban": {
            "description": "Sender's bank account IBAN.",
            "maxLength": 5000,
            "type": "string"
          },
          "sender_name": {
            "description": "Sender's name.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "title": "SourceTransactionSepaCreditTransferData",
        "type": "object",
        "x-expandableFields": []
      },
      "source_type_ach_credit_transfer": {
        "properties": {
          "account_number": {
            "nullable": true,
            "type": "string"
          },
          "bank_name": {
            "nullable": true,
            "type": "string"
          },
          "fingerprint": {
            "nullable": true,
            "type": "string"
          },
          "refund_account_holder_name": {
            "nullable": true,
            "type": "string"
          },
          "refund_account_holder_type": {
            "nullable": true,
            "type": "string"
          },
          "refund_routing_number": {
            "nullable": true,
            "type": "string"
          },
          "routing_number": {
            "nullable": true,
            "type": "string"
          },
          "swift_code": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_ach_debit": {
        "properties": {
          "bank_name": {
            "nullable": true,
            "type": "string"
          },
          "country": {
            "nullable": true,
            "type": "string"
          },
          "fingerprint": {
            "nullable": true,
            "type": "string"
          },
          "last4": {
            "nullable": true,
            "type": "string"
          },
          "routing_number": {
            "nullable": true,
            "type": "string"
          },
          "type": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_alipay": {
        "properties": {
          "data_string": {
            "nullable": true,
            "type": "string"
          },
          "native_url": {
            "nullable": true,
            "type": "string"
          },
          "statement_descriptor": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_au_becs_debit": {
        "properties": {
          "bsb_number": {
            "nullable": true,
            "type": "string"
          },
          "fingerprint": {
            "nullable": true,
            "type": "string"
          },
          "last4": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_bancontact": {
        "properties": {
          "bank_code": {
            "nullable": true,
            "type": "string"
          },
          "bank_name": {
            "nullable": true,
            "type": "string"
          },
          "bic": {
            "nullable": true,
            "type": "string"
          },
          "iban_last4": {
            "nullable": true,
            "type": "string"
          },
          "preferred_language": {
            "nullable": true,
            "type": "string"
          },
          "statement_descriptor": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_card": {
        "properties": {
          "address_line1_check": {
            "nullable": true,
            "type": "string"
          },
          "address_zip_check": {
            "nullable": true,
            "type": "string"
          },
          "brand": {
            "nullable": true,
            "type": "string"
          },
          "country": {
            "nullable": true,
            "type": "string"
          },
          "cvc_check": {
            "nullable": true,
            "type": "string"
          },
          "dynamic_last4": {
            "nullable": true,
            "type": "string"
          },
          "exp_month": {
            "nullable": true,
            "type": "integer"
          },
          "exp_year": {
            "nullable": true,
            "type": "integer"
          },
          "fingerprint": {
            "type": "string"
          },
          "funding": {
            "nullable": true,
            "type": "string"
          },
          "last4": {
            "nullable": true,
            "type": "string"
          },
          "name": {
            "nullable": true,
            "type": "string"
          },
          "three_d_secure": {
            "type": "string"
          },
          "tokenization_method": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_card_present": {
        "properties": {
          "application_cryptogram": {
            "type": "string"
          },
          "application_preferred_name": {
            "type": "string"
          },
          "authorization_code": {
            "nullable": true,
            "type": "string"
          },
          "authorization_response_code": {
            "type": "string"
          },
          "brand": {
            "nullable": true,
            "type": "string"
          },
          "country": {
            "nullable": true,
            "type": "string"
          },
          "cvm_type": {
            "type": "string"
          },
          "data_type": {
            "nullable": true,
            "type": "string"
          },
          "dedicated_file_name": {
            "type": "string"
          },
          "emv_auth_data": {
            "type": "string"
          },
          "evidence_customer_signature": {
            "nullable": true,
            "type": "string"
          },
          "evidence_transaction_certificate": {
            "nullable": true,
            "type": "string"
          },
          "exp_month": {
            "nullable": true,
            "type": "integer"
          },
          "exp_year": {
            "nullable": true,
            "type": "integer"
          },
          "fingerprint": {
            "type": "string"
          },
          "funding": {
            "nullable": true,
            "type": "string"
          },
          "last4": {
            "nullable": true,
            "type": "string"
          },
          "pos_device_id": {
            "nullable": true,
            "type": "string"
          },
          "pos_entry_mode": {
            "type": "string"
          },
          "read_method": {
            "nullable": true,
            "type": "string"
          },
          "reader": {
            "nullable": true,
            "type": "string"
          },
          "terminal_verification_results": {
            "type": "string"
          },
          "transaction_status_information": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_eps": {
        "properties": {
          "reference": {
            "nullable": true,
            "type": "string"
          },
          "statement_descriptor": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_giropay": {
        "properties": {
          "bank_code": {
            "nullable": true,
            "type": "string"
          },
          "bank_name": {
            "nullable": true,
            "type": "string"
          },
          "bic": {
            "nullable": true,
            "type": "string"
          },
          "statement_descriptor": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_ideal": {
        "properties": {
          "bank": {
            "nullable": true,
            "type": "string"
          },
          "bic": {
            "nullable": true,
            "type": "string"
          },
          "iban_last4": {
            "nullable": true,
            "type": "string"
          },
          "statement_descriptor": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_klarna": {
        "properties": {
          "background_image_url": {
            "type": "string"
          },
          "client_token": {
            "nullable": true,
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "logo_url": {
            "type": "string"
          },
          "page_title": {
            "type": "string"
          },
          "pay_later_asset_urls_descriptive": {
            "type": "string"
          },
          "pay_later_asset_urls_standard": {
            "type": "string"
          },
          "pay_later_name": {
            "type": "string"
          },
          "pay_later_redirect_url": {
            "type": "string"
          },
          "pay_now_asset_urls_descriptive": {
            "type": "string"
          },
          "pay_now_asset_urls_standard": {
            "type": "string"
          },
          "pay_now_name": {
            "type": "string"
          },
          "pay_now_redirect_url": {
            "type": "string"
          },
          "pay_over_time_asset_urls_descriptive": {
            "type": "string"
          },
          "pay_over_time_asset_urls_standard": {
            "type": "string"
          },
          "pay_over_time_name": {
            "type": "string"
          },
          "pay_over_time_redirect_url": {
            "type": "string"
          },
          "payment_method_categories": {
            "type": "string"
          },
          "purchase_country": {
            "type": "string"
          },
          "purchase_type": {
            "type": "string"
          },
          "redirect_url": {
            "type": "string"
          },
          "shipping_delay": {
            "type": "integer"
          },
          "shipping_first_name": {
            "type": "string"
          },
          "shipping_last_name": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_multibanco": {
        "properties": {
          "entity": {
            "nullable": true,
            "type": "string"
          },
          "reference": {
            "nullable": true,
            "type": "string"
          },
          "refund_account_holder_address_city": {
            "nullable": true,
            "type": "string"
          },
          "refund_account_holder_address_country": {
            "nullable": true,
            "type": "string"
          },
          "refund_account_holder_address_line1": {
            "nullable": true,
            "type": "string"
          },
          "refund_account_holder_address_line2": {
            "nullable": true,
            "type": "string"
          },
          "refund_account_holder_address_postal_code": {
            "nullable": true,
            "type": "string"
          },
          "refund_account_holder_address_state": {
            "nullable": true,
            "type": "string"
          },
          "refund_account_holder_name": {
            "nullable": true,
            "type": "string"
          },
          "refund_iban": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_p24": {
        "properties": {
          "reference": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_sepa_debit": {
        "properties": {
          "bank_code": {
            "nullable": true,
            "type": "string"
          },
          "branch_code": {
            "nullable": true,
            "type": "string"
          },
          "country": {
            "nullable": true,
            "type": "string"
          },
          "fingerprint": {
            "nullable": true,
            "type": "string"
          },
          "last4": {
            "nullable": true,
            "type": "string"
          },
          "mandate_reference": {
            "nullable": true,
            "type": "string"
          },
          "mandate_url": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_sofort": {
        "properties": {
          "bank_code": {
            "nullable": true,
            "type": "string"
          },
          "bank_name": {
            "nullable": true,
            "type": "string"
          },
          "bic": {
            "nullable": true,
            "type": "string"
          },
          "country": {
            "nullable": true,
            "type": "string"
          },
          "iban_last4": {
            "nullable": true,
            "type": "string"
          },
          "preferred_language": {
            "nullable": true,
            "type": "string"
          },
          "statement_descriptor": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_three_d_secure": {
        "properties": {
          "address_line1_check": {
            "nullable": true,
            "type": "string"
          },
          "address_zip_check": {
            "nullable": true,
            "type": "string"
          },
          "authenticated": {
            "nullable": true,
            "type": "boolean"
          },
          "brand": {
            "nullable": true,
            "type": "string"
          },
          "card": {
            "nullable": true,
            "type": "string"
          },
          "country": {
            "nullable": true,
            "type": "string"
          },
          "customer": {
            "nullable": true,
            "type": "string"
          },
          "cvc_check": {
            "nullable": true,
            "type": "string"
          },
          "dynamic_last4": {
            "nullable": true,
            "type": "string"
          },
          "exp_month": {
            "nullable": true,
            "type": "integer"
          },
          "exp_year": {
            "nullable": true,
            "type": "integer"
          },
          "fingerprint": {
            "type": "string"
          },
          "funding": {
            "nullable": true,
            "type": "string"
          },
          "last4": {
            "nullable": true,
            "type": "string"
          },
          "name": {
            "nullable": true,
            "type": "string"
          },
          "three_d_secure": {
            "type": "string"
          },
          "tokenization_method": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "source_type_wechat": {
        "properties": {
          "prepay_id": {
            "type": "string"
          },
          "qr_code_url": {
            "nullable": true,
            "type": "string"
          },
          "statement_descriptor": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "status_transitions": {
        "description": "",
        "properties": {
          "canceled": {
            "description": "The time that the order was canceled.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "fulfiled": {
            "description": "The time that the order was fulfilled.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "paid": {
            "description": "The time that the order was paid.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "returned": {
            "description": "The time that the order was returned.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "StatusTransitions",
        "type": "object",
        "x-expandableFields": []
      },
      "subscription": {
        "description": "Subscriptions allow you to charge a customer on a recurring basis.\n\nRelated guide: [Creating Subscriptions](https://stripe.com/docs/billing/subscriptions/creating).",
        "properties": {
          "application_fee_percent": {
            "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account.",
            "nullable": true,
            "type": "number"
          },
          "billing_cycle_anchor": {
            "description": "Determines the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices.",
            "format": "unix-time",
            "type": "integer"
          },
          "billing_thresholds": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/subscription_billing_thresholds"
              }
            ],
            "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period",
            "nullable": true
          },
          "cancel_at": {
            "description": "A date in the future at which the subscription will automatically get canceled",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "cancel_at_period_end": {
            "description": "If the subscription has been canceled with the `at_period_end` flag set to `true`, `cancel_at_period_end` on the subscription will be true. You can use this attribute to determine whether a subscription that has a status of active is scheduled to be canceled at the end of the current period.",
            "type": "boolean"
          },
          "canceled_at": {
            "description": "If the subscription has been canceled, the date of that cancellation. If the subscription was canceled with `cancel_at_period_end`, `canceled_at` will reflect the time of the most recent update request, not the end of the subscription period when the subscription is automatically moved to a canceled state.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "collection_method": {
            "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions.",
            "enum": ["charge_automatically", "send_invoice"],
            "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"
          },
          "current_period_end": {
            "description": "End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created.",
            "format": "unix-time",
            "type": "integer"
          },
          "current_period_start": {
            "description": "Start of the current period that the subscription has been invoiced for.",
            "format": "unix-time",
            "type": "integer"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "ID of the customer who owns the subscription.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "days_until_due": {
            "description": "Number of days a customer has to pay invoices generated by this subscription. This value will be `null` for subscriptions where `collection_method=charge_automatically`.",
            "nullable": true,
            "type": "integer"
          },
          "default_payment_method": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "default_source": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/alipay_account"
              },
              {
                "$ref": "#/components/schemas/bank_account"
              },
              {
                "$ref": "#/components/schemas/bitcoin_receiver"
              },
              {
                "$ref": "#/components/schemas/card"
              },
              {
                "$ref": "#/components/schemas/source"
              }
            ],
            "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/alipay_account"
                },
                {
                  "$ref": "#/components/schemas/bank_account"
                },
                {
                  "$ref": "#/components/schemas/bitcoin_receiver"
                },
                {
                  "$ref": "#/components/schemas/card"
                },
                {
                  "$ref": "#/components/schemas/source"
                }
              ]
            }
          },
          "default_tax_rates": {
            "description": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription.",
            "items": {
              "$ref": "#/components/schemas/tax_rate"
            },
            "nullable": true,
            "type": "array"
          },
          "discount": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/discount"
              }
            ],
            "description": "Describes the current discount applied to this subscription, if there is one. When billing, a discount applied to a subscription overrides a discount applied on a customer-wide basis.",
            "nullable": true
          },
          "ended_at": {
            "description": "If the subscription has ended, the date the subscription ended.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "items": {
            "description": "List of subscription items, each with an attached price.",
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "$ref": "#/components/schemas/subscription_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": "SubscriptionItemList",
            "type": "object",
            "x-expandableFields": ["data"]
          },
          "latest_invoice": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/invoice"
              }
            ],
            "description": "The most recent invoice this subscription has generated.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/invoice"
                }
              ]
            }
          },
          "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"
          },
          "next_pending_invoice_item_invoice": {
            "description": "Specifies the approximate timestamp on which any pending invoice items will be billed according to the schedule provided at `pending_invoice_item_interval`.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["subscription"],
            "type": "string"
          },
          "pause_collection": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/subscriptions_resource_pause_collection"
              }
            ],
            "description": "If specified, payment collection for this subscription will be paused.",
            "nullable": true
          },
          "pending_invoice_item_interval": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/subscription_pending_invoice_item_interval"
              }
            ],
            "description": "Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval.",
            "nullable": true
          },
          "pending_setup_intent": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/setup_intent"
              }
            ],
            "description": "You can use this [SetupIntent](https://stripe.com/docs/api/setup_intents) to collect user authentication when creating a subscription without immediate payment or updating a subscription's payment method, allowing you to optimize for off-session payments. Learn more in the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication#scenario-2).",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/setup_intent"
                }
              ]
            }
          },
          "pending_update": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/subscriptions_resource_pending_update"
              }
            ],
            "description": "If specified, [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates) that will be applied to the subscription once the `latest_invoice` has been paid.",
            "nullable": true
          },
          "schedule": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/subscription_schedule"
              }
            ],
            "description": "The schedule attached to the subscription",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/subscription_schedule"
                }
              ]
            }
          },
          "start_date": {
            "description": "Date when the subscription was first created. The date might differ from the `created` date due to backdating.",
            "format": "unix-time",
            "type": "integer"
          },
          "status": {
            "description": "Possible values are `incomplete`, `incomplete_expired`, `trialing`, `active`, `past_due`, `canceled`, or `unpaid`. \n\nFor `collection_method=charge_automatically` a subscription moves into `incomplete` if the initial payment attempt fails. A subscription in this state can only have metadata and default_source updated. Once the first invoice is paid, the subscription moves into an `active` state. If the first invoice is not paid within 23 hours, the subscription transitions to `incomplete_expired`. This is a terminal state, the open invoice will be voided and no further invoices will be generated. \n\nA subscription that is currently in a trial period is `trialing` and moves to `active` when the trial period is over. \n\nIf subscription `collection_method=charge_automatically` it becomes `past_due` when payment to renew it fails and `canceled` or `unpaid` (depending on your subscriptions settings) when Stripe has exhausted all payment retry attempts. \n\nIf subscription `collection_method=send_invoice` it becomes `past_due` when its invoice is not paid by the due date, and `canceled` or `unpaid` if it is still not paid by an additional deadline after that. Note that when a subscription has a status of `unpaid`, no subsequent invoices will be attempted (invoices will be created, but then immediately automatically closed). After receiving updated payment information from a customer, you may choose to reopen and pay their closed invoices.",
            "enum": ["active", "canceled", "incomplete", "incomplete_expired", "past_due", "trialing", "unpaid"],
            "type": "string"
          },
          "transfer_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/subscription_transfer_data"
              }
            ],
            "description": "The account (if any) the subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices.",
            "nullable": true
          },
          "trial_end": {
            "description": "If the subscription has a trial, the end of that trial.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "trial_start": {
            "description": "If the subscription has a trial, the beginning of that trial.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          }
        },
        "required": [
          "billing_cycle_anchor",
          "cancel_at_period_end",
          "created",
          "current_period_end",
          "current_period_start",
          "customer",
          "id",
          "items",
          "livemode",
          "metadata",
          "object",
          "start_date",
          "status"
        ],
        "title": "Subscription",
        "type": "object",
        "x-expandableFields": [
          "billing_thresholds",
          "customer",
          "default_payment_method",
          "default_source",
          "default_tax_rates",
          "discount",
          "items",
          "latest_invoice",
          "pause_collection",
          "pending_invoice_item_interval",
          "pending_setup_intent",
          "pending_update",
          "schedule",
          "transfer_data"
        ],
        "x-resourceId": "subscription"
      },
      "subscription_billing_thresholds": {
        "description": "",
        "properties": {
          "amount_gte": {
            "description": "Monetary threshold that triggers the subscription to create an invoice",
            "nullable": true,
            "type": "integer"
          },
          "reset_billing_cycle_anchor": {
            "description": "Indicates if the `billing_cycle_anchor` should be reset when a threshold is reached. If true, `billing_cycle_anchor` will be updated to the date/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be `true` if the subscription contains items with plans that have `aggregate_usage=last_ever`.",
            "nullable": true,
            "type": "boolean"
          }
        },
        "title": "SubscriptionBillingThresholds",
        "type": "object",
        "x-expandableFields": []
      },
      "subscription_item": {
        "description": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships.",
        "properties": {
          "billing_thresholds": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/subscription_item_billing_thresholds"
              }
            ],
            "description": "Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period",
            "nullable": true
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "type": "integer"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["subscription_item"],
            "type": "string"
          },
          "price": {
            "$ref": "#/components/schemas/price"
          },
          "quantity": {
            "description": "The [quantity](https://stripe.com/docs/subscriptions/quantities) of the plan to which the customer should be subscribed.",
            "type": "integer"
          },
          "subscription": {
            "description": "The `subscription` this `subscription_item` belongs to.",
            "maxLength": 5000,
            "type": "string"
          },
          "tax_rates": {
            "description": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`.",
            "items": {
              "$ref": "#/components/schemas/tax_rate"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "required": ["created", "id", "metadata", "object", "price", "subscription"],
        "title": "SubscriptionItem",
        "type": "object",
        "x-expandableFields": ["billing_thresholds", "price", "tax_rates"],
        "x-resourceId": "subscription_item"
      },
      "subscription_item_billing_thresholds": {
        "description": "",
        "properties": {
          "usage_gte": {
            "description": "Usage threshold that triggers the subscription to create an invoice",
            "nullable": true,
            "type": "integer"
          }
        },
        "title": "SubscriptionItemBillingThresholds",
        "type": "object",
        "x-expandableFields": []
      },
      "subscription_pending_invoice_item_interval": {
        "description": "",
        "properties": {
          "interval": {
            "description": "Specifies invoicing frequency. Either `day`, `week`, `month` or `year`.",
            "enum": ["day", "month", "week", "year"],
            "type": "string"
          },
          "interval_count": {
            "description": "The number of intervals between invoices. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks).",
            "type": "integer"
          }
        },
        "required": ["interval", "interval_count"],
        "title": "SubscriptionPendingInvoiceItemInterval",
        "type": "object",
        "x-expandableFields": []
      },
      "subscription_schedule": {
        "description": "A subscription schedule allows you to create and manage the lifecycle of a subscription by predefining expected changes.\n\nRelated guide: [Subscription Schedules](https://stripe.com/docs/billing/subscriptions/subscription-schedules).",
        "properties": {
          "canceled_at": {
            "description": "Time at which the subscription schedule was canceled. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "completed_at": {
            "description": "Time at which the subscription schedule was completed. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "current_phase": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/subscription_schedule_current_phase"
              }
            ],
            "description": "Object representing the start and end dates for the current phase of the subscription schedule, if it is `active`.",
            "nullable": true
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              },
              {
                "$ref": "#/components/schemas/deleted_customer"
              }
            ],
            "description": "ID of the customer who owns the subscription schedule.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                },
                {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              ]
            }
          },
          "default_settings": {
            "$ref": "#/components/schemas/subscription_schedules_resource_default_settings"
          },
          "end_behavior": {
            "description": "Behavior of the subscription schedule and underlying subscription when it ends. Possible values are `release` and `cancel`.",
            "enum": ["cancel", "none", "release", "renew"],
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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://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.",
            "nullable": true,
            "type": "object"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["subscription_schedule"],
            "type": "string"
          },
          "phases": {
            "description": "Configuration for the subscription schedule's phases.",
            "items": {
              "$ref": "#/components/schemas/subscription_schedule_phase_configuration"
            },
            "type": "array"
          },
          "released_at": {
            "description": "Time at which the subscription schedule was released. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "released_subscription": {
            "description": "ID of the subscription once managed by the subscription schedule (if it is released).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "status": {
            "description": "The present status of the subscription schedule. Possible values are `not_started`, `active`, `completed`, `released`, and `canceled`. You can read more about the different states in our [behavior guide](https://stripe.com/docs/billing/subscriptions/subscription-schedules).",
            "enum": ["active", "canceled", "completed", "not_started", "released"],
            "type": "string"
          },
          "subscription": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/subscription"
              }
            ],
            "description": "ID of the subscription managed by the subscription schedule.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/subscription"
                }
              ]
            }
          }
        },
        "required": [
          "created",
          "customer",
          "default_settings",
          "end_behavior",
          "id",
          "livemode",
          "object",
          "phases",
          "status"
        ],
        "title": "SubscriptionSchedule",
        "type": "object",
        "x-expandableFields": ["current_phase", "customer", "default_settings", "phases", "subscription"],
        "x-resourceId": "subscription_schedule"
      },
      "subscription_schedule_add_invoice_item": {
        "description": "An Add Invoice Item describes the prices and quantities that will be added as pending invoice items when entering a phase.",
        "properties": {
          "price": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/price"
              },
              {
                "$ref": "#/components/schemas/deleted_price"
              }
            ],
            "description": "ID of the price used to generate the invoice item.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/price"
                },
                {
                  "$ref": "#/components/schemas/deleted_price"
                }
              ]
            }
          },
          "quantity": {
            "description": "The quantity of the invoice item.",
            "nullable": true,
            "type": "integer"
          },
          "tax_rates": {
            "description": "The tax rates which apply to the item. When set, the `default_tax_rates` do not apply to this item.",
            "items": {
              "$ref": "#/components/schemas/tax_rate"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "required": ["price"],
        "title": "SubscriptionScheduleAddInvoiceItem",
        "type": "object",
        "x-expandableFields": ["price", "tax_rates"]
      },
      "subscription_schedule_configuration_item": {
        "description": "A phase item describes the price and quantity of a phase.",
        "properties": {
          "billing_thresholds": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/subscription_item_billing_thresholds"
              }
            ],
            "description": "Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period",
            "nullable": true
          },
          "price": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/price"
              },
              {
                "$ref": "#/components/schemas/deleted_price"
              }
            ],
            "description": "ID of the price to which the customer should be subscribed.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/price"
                },
                {
                  "$ref": "#/components/schemas/deleted_price"
                }
              ]
            }
          },
          "quantity": {
            "description": "Quantity of the plan to which the customer should be subscribed.",
            "type": "integer"
          },
          "tax_rates": {
            "description": "The tax rates which apply to this `phase_item`. When set, the `default_tax_rates` on the phase do not apply to this `phase_item`.",
            "items": {
              "$ref": "#/components/schemas/tax_rate"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "required": ["price"],
        "title": "SubscriptionScheduleConfigurationItem",
        "type": "object",
        "x-expandableFields": ["billing_thresholds", "price", "tax_rates"]
      },
      "subscription_schedule_current_phase": {
        "description": "",
        "properties": {
          "end_date": {
            "description": "The end of this phase of the subscription schedule.",
            "format": "unix-time",
            "type": "integer"
          },
          "start_date": {
            "description": "The start of this phase of the subscription schedule.",
            "format": "unix-time",
            "type": "integer"
          }
        },
        "required": ["end_date", "start_date"],
        "title": "SubscriptionScheduleCurrentPhase",
        "type": "object",
        "x-expandableFields": []
      },
      "subscription_schedule_phase_configuration": {
        "description": "A phase describes the plans, coupon, and trialing status of a subscription for a predefined time period.",
        "properties": {
          "add_invoice_items": {
            "description": "A list of prices and quantities that will generate invoice items appended to the first invoice for this phase.",
            "items": {
              "$ref": "#/components/schemas/subscription_schedule_add_invoice_item"
            },
            "type": "array"
          },
          "application_fee_percent": {
            "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account during this phase of the schedule.",
            "nullable": true,
            "type": "number"
          },
          "billing_cycle_anchor": {
            "description": "Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).",
            "enum": ["automatic", "phase_start"],
            "nullable": true,
            "type": "string"
          },
          "billing_thresholds": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/subscription_billing_thresholds"
              }
            ],
            "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period",
            "nullable": true
          },
          "collection_method": {
            "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions.",
            "enum": ["charge_automatically", "send_invoice"],
            "nullable": true,
            "type": "string"
          },
          "coupon": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/coupon"
              },
              {
                "$ref": "#/components/schemas/deleted_coupon"
              }
            ],
            "description": "ID of the coupon to use during this phase of the subscription schedule.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/coupon"
                },
                {
                  "$ref": "#/components/schemas/deleted_coupon"
                }
              ]
            }
          },
          "default_payment_method": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "default_tax_rates": {
            "description": "The default tax rates to apply to the subscription during this phase of the subscription schedule.",
            "items": {
              "$ref": "#/components/schemas/tax_rate"
            },
            "nullable": true,
            "type": "array"
          },
          "end_date": {
            "description": "The end of this phase of the subscription schedule.",
            "format": "unix-time",
            "type": "integer"
          },
          "invoice_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/invoice_setting_subscription_schedule_setting"
              }
            ],
            "description": "The invoice settings applicable during this phase.",
            "nullable": true
          },
          "items": {
            "description": "Subscription items to configure the subscription to during this phase of the subscription schedule.",
            "items": {
              "$ref": "#/components/schemas/subscription_schedule_configuration_item"
            },
            "type": "array"
          },
          "proration_behavior": {
            "description": "If the subscription schedule will prorate when transitioning to this phase. Possible values are `create_prorations` and `none`.",
            "enum": ["always_invoice", "create_prorations", "none"],
            "type": "string"
          },
          "start_date": {
            "description": "The start of this phase of the subscription schedule.",
            "format": "unix-time",
            "type": "integer"
          },
          "transfer_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/subscription_transfer_data"
              }
            ],
            "description": "The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices.",
            "nullable": true
          },
          "trial_end": {
            "description": "When the trial ends within the phase.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          }
        },
        "required": ["add_invoice_items", "end_date", "items", "proration_behavior", "start_date"],
        "title": "SubscriptionSchedulePhaseConfiguration",
        "type": "object",
        "x-expandableFields": [
          "add_invoice_items",
          "billing_thresholds",
          "coupon",
          "default_payment_method",
          "default_tax_rates",
          "invoice_settings",
          "items",
          "transfer_data"
        ]
      },
      "subscription_schedules_resource_default_settings": {
        "description": "",
        "properties": {
          "application_fee_percent": {
            "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account during this phase of the schedule.",
            "nullable": true,
            "type": "number"
          },
          "billing_cycle_anchor": {
            "description": "Possible values are `phase_start` or `automatic`. If `phase_start` then billing cycle anchor of the subscription is set to the start of the phase when entering the phase. If `automatic` then the billing cycle anchor is automatically modified as needed when entering the phase. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).",
            "enum": ["automatic", "phase_start"],
            "type": "string"
          },
          "billing_thresholds": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/subscription_billing_thresholds"
              }
            ],
            "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period",
            "nullable": true
          },
          "collection_method": {
            "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions.",
            "enum": ["charge_automatically", "send_invoice"],
            "nullable": true,
            "type": "string"
          },
          "default_payment_method": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/payment_method"
              }
            ],
            "description": "ID of the default payment method for the subscription schedule. If not set, invoices will use the default payment method in the customer's invoice settings.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/payment_method"
                }
              ]
            }
          },
          "invoice_settings": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/invoice_setting_subscription_schedule_setting"
              }
            ],
            "description": "The subscription schedule's default invoice settings.",
            "nullable": true
          },
          "transfer_data": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/subscription_transfer_data"
              }
            ],
            "description": "The account (if any) the associated subscription's payments will be attributed to for tax reporting, and where funds from each payment will be transferred to for each of the subscription's invoices.",
            "nullable": true
          }
        },
        "required": ["billing_cycle_anchor"],
        "title": "SubscriptionSchedulesResourceDefaultSettings",
        "type": "object",
        "x-expandableFields": ["billing_thresholds", "default_payment_method", "invoice_settings", "transfer_data"]
      },
      "subscription_transfer_data": {
        "description": "",
        "properties": {
          "amount_percent": {
            "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the destination account. By default, the entire amount is transferred to the destination.",
            "nullable": true,
            "type": "number"
          },
          "destination": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "The account where funds from the payment will be transferred to upon payment success.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          }
        },
        "required": ["destination"],
        "title": "SubscriptionTransferData",
        "type": "object",
        "x-expandableFields": ["destination"]
      },
      "subscriptions_resource_pause_collection": {
        "description": "The Pause Collection settings determine how we will pause collection for this subscription and for how long the subscription\nshould be paused.",
        "properties": {
          "behavior": {
            "description": "The payment collection behavior for this subscription while paused. One of `keep_as_draft`, `mark_uncollectible`, or `void`.",
            "enum": ["keep_as_draft", "mark_uncollectible", "void"],
            "type": "string"
          },
          "resumes_at": {
            "description": "The time after which the subscription will resume collecting payments.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          }
        },
        "required": ["behavior"],
        "title": "SubscriptionsResourcePauseCollection",
        "type": "object",
        "x-expandableFields": []
      },
      "subscriptions_resource_pending_update": {
        "description": "Pending Updates store the changes pending from a previous update that will be applied\nto the Subscription upon successful payment.",
        "properties": {
          "billing_cycle_anchor": {
            "description": "If the update is applied, determines the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "expires_at": {
            "description": "The point after which the changes reflected by this update will be discarded and no longer applied.",
            "format": "unix-time",
            "type": "integer"
          },
          "subscription_items": {
            "description": "List of subscription items, each with an attached plan, that will be set if the update is applied.",
            "items": {
              "$ref": "#/components/schemas/subscription_item"
            },
            "nullable": true,
            "type": "array"
          },
          "trial_end": {
            "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time, if the update is applied.",
            "format": "unix-time",
            "nullable": true,
            "type": "integer"
          },
          "trial_from_plan": {
            "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed.",
            "nullable": true,
            "type": "boolean"
          }
        },
        "required": ["expires_at"],
        "title": "SubscriptionsResourcePendingUpdate",
        "type": "object",
        "x-expandableFields": ["subscription_items"]
      },
      "tax_deducted_at_source": {
        "description": "",
        "properties": {
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["tax_deducted_at_source"],
            "type": "string"
          },
          "period_end": {
            "description": "The end of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period.",
            "format": "unix-time",
            "type": "integer"
          },
          "period_start": {
            "description": "The start of the invoicing period. This TDS applies to Stripe fees collected during this invoicing period.",
            "format": "unix-time",
            "type": "integer"
          },
          "tax_deduction_account_number": {
            "description": "The TAN that was supplied to Stripe when TDS was assessed",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["id", "object", "period_end", "period_start", "tax_deduction_account_number"],
        "title": "TaxDeductedAtSource",
        "type": "object",
        "x-expandableFields": []
      },
      "tax_id": {
        "description": "You can add one or multiple tax IDs to a [customer](https://stripe.com/docs/api/customers).\nA customer's tax IDs are displayed on invoices and credit notes issued for the customer.\n\nRelated guide: [Customer Tax Identification Numbers](https://stripe.com/docs/billing/taxes/tax-ids).",
        "properties": {
          "country": {
            "description": "Two-letter ISO code representing the country of the tax ID.",
            "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"
          },
          "customer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/customer"
              }
            ],
            "description": "ID of the customer.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/customer"
                }
              ]
            }
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["tax_id"],
            "type": "string"
          },
          "type": {
            "description": "Type of the tax ID, one of `ae_trn`, `au_abn`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_qst`, `ch_vat`, `cl_tin`, `es_cif`, `eu_vat`, `gb_vat`, `hk_br`, `id_npwp`, `in_gst`, `jp_cn`, `jp_rn`, `kr_brn`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `no_vat`, `nz_gst`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `th_vat`, `tw_vat`, `us_ein`, or `za_vat`. Note that some legacy tax IDs have type `unknown`",
            "enum": [
              "ae_trn",
              "au_abn",
              "br_cnpj",
              "br_cpf",
              "ca_bn",
              "ca_qst",
              "ch_vat",
              "cl_tin",
              "es_cif",
              "eu_vat",
              "gb_vat",
              "hk_br",
              "id_npwp",
              "in_gst",
              "jp_cn",
              "jp_rn",
              "kr_brn",
              "li_uid",
              "mx_rfc",
              "my_frp",
              "my_itn",
              "my_sst",
              "no_vat",
              "nz_gst",
              "ru_inn",
              "ru_kpp",
              "sa_vat",
              "sg_gst",
              "sg_uen",
              "th_vat",
              "tw_vat",
              "unknown",
              "us_ein",
              "za_vat"
            ],
            "type": "string"
          },
          "value": {
            "description": "Value of the tax ID.",
            "maxLength": 5000,
            "type": "string"
          },
          "verification": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/tax_id_verification"
              }
            ],
            "description": "Tax ID verification information.",
            "nullable": true
          }
        },
        "required": ["created", "id", "livemode", "object", "type", "value"],
        "title": "tax_id",
        "type": "object",
        "x-expandableFields": ["customer", "verification"],
        "x-resourceId": "tax_id"
      },
      "tax_id_verification": {
        "description": "",
        "properties": {
          "status": {
            "description": "Verification status, one of `pending`, `verified`, `unverified`, or `unavailable`.",
            "enum": ["pending", "unavailable", "unverified", "verified"],
            "type": "string"
          },
          "verified_address": {
            "description": "Verified address.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "verified_name": {
            "description": "Verified name.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["status"],
        "title": "tax_id_verification",
        "type": "object",
        "x-expandableFields": []
      },
      "tax_rate": {
        "description": "Tax rates can be applied to [invoices](https://stripe.com/docs/billing/invoices/tax-rates), [subscriptions](https://stripe.com/docs/billing/subscriptions/taxes) and [Checkout Sessions](https://stripe.com/docs/payments/checkout/set-up-a-subscription#tax-rates) to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/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"
          },
          "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"
          },
          "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.",
            "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": "This represents the tax rate percent out of 100.",
            "type": "number"
          },
          "state": {
            "description": "[ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, \"NY\" for New York, United States.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["active", "created", "display_name", "id", "inclusive", "livemode", "object", "percentage"],
        "title": "TaxRate",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "tax_rate"
      },
      "terminal.connection_token": {
        "description": "A Connection Token is used by the Stripe Terminal SDK to connect to a reader.\n\nRelated guide: [Fleet Management](https://stripe.com/docs/terminal/readers/fleet-management#create).",
        "properties": {
          "location": {
            "description": "The id of the location that this connection token is scoped to.",
            "maxLength": 5000,
            "type": "string"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["terminal.connection_token"],
            "type": "string"
          },
          "secret": {
            "description": "Your application should pass this token to the Stripe Terminal SDK.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["object", "secret"],
        "title": "TerminalConnectionToken",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "terminal.connection_token"
      },
      "terminal.location": {
        "description": "A Location represents a grouping of readers.\n\nRelated guide: [Fleet Management](https://stripe.com/docs/terminal/readers/fleet-management#create).",
        "properties": {
          "address": {
            "$ref": "#/components/schemas/address"
          },
          "display_name": {
            "description": "The display name of the location.",
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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://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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["terminal.location"],
            "type": "string"
          }
        },
        "required": ["address", "display_name", "id", "livemode", "metadata", "object"],
        "title": "TerminalLocationLocation",
        "type": "object",
        "x-expandableFields": ["address"],
        "x-resourceId": "terminal.location"
      },
      "terminal.reader": {
        "description": "A Reader represents a physical device for accepting payment details.\n\nRelated guide: [Connecting to a Reader](https://stripe.com/docs/terminal/readers/connecting).",
        "properties": {
          "device_sw_version": {
            "description": "The current software version of the reader.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "device_type": {
            "description": "Type of reader, one of `bbpos_chipper2x` or `verifone_P400`.",
            "enum": ["bbpos_chipper2x", "verifone_P400"],
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "ip_address": {
            "description": "The local IP address of the reader.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "label": {
            "description": "Custom label given to the reader for easier identification.",
            "maxLength": 5000,
            "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"
          },
          "location": {
            "description": "The location identifier of the reader.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["terminal.reader"],
            "type": "string"
          },
          "serial_number": {
            "description": "Serial number of the reader.",
            "maxLength": 5000,
            "type": "string"
          },
          "status": {
            "description": "The networking status of the reader.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["device_type", "id", "label", "livemode", "metadata", "object", "serial_number"],
        "title": "TerminalReaderReader",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "terminal.reader"
      },
      "three_d_secure": {
        "description": "Cardholder authentication via 3D Secure is initiated by creating a `3D Secure`\nobject. Once the object has been created, you can use it to authenticate the\ncardholder and create a charge.",
        "properties": {
          "amount": {
            "description": "Amount of the charge that you will create when authentication completes.",
            "type": "integer"
          },
          "authenticated": {
            "description": "True if the cardholder went through the authentication flow and their bank indicated that authentication succeeded.",
            "type": "boolean"
          },
          "card": {
            "$ref": "#/components/schemas/card"
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "currency": {
            "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
            "maxLength": 5000,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["three_d_secure"],
            "type": "string"
          },
          "redirect_url": {
            "description": "If present, this is the URL that you should send the cardholder to for authentication. If you are going to use Stripe.js to display the authentication page in an iframe, you should use the value \"_callback\".",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "status": {
            "description": "Possible values are `redirect_pending`, `succeeded`, or `failed`. When the cardholder can be authenticated, the object starts with status `redirect_pending`. When liability will be shifted to the cardholder's bank (either because the cardholder was successfully authenticated, or because the bank has not implemented 3D Secure, the object wlil be in status `succeeded`. `failed` indicates that authentication was attempted unsuccessfully.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["amount", "authenticated", "card", "created", "currency", "id", "livemode", "object", "status"],
        "title": "ThreeDSecure",
        "type": "object",
        "x-expandableFields": ["card"],
        "x-resourceId": "three_d_secure"
      },
      "three_d_secure_details": {
        "description": "",
        "properties": {
          "authentication_flow": {
            "description": "For authenticated transactions: how the customer was authenticated by\nthe issuing bank.",
            "enum": ["challenge", "frictionless"],
            "nullable": true,
            "type": "string"
          },
          "result": {
            "description": "Indicates the outcome of 3D Secure authentication.",
            "enum": ["attempt_acknowledged", "authenticated", "failed", "not_supported", "processing_error"],
            "type": "string"
          },
          "result_reason": {
            "description": "Additional information about why 3D Secure succeeded or failed based\non the `result`.",
            "enum": [
              "abandoned",
              "bypassed",
              "canceled",
              "card_not_enrolled",
              "network_not_supported",
              "protocol_error",
              "rejected"
            ],
            "nullable": true,
            "type": "string"
          },
          "version": {
            "description": "The version of 3D Secure that was used.",
            "enum": ["1.0.2", "2.1.0", "2.2.0"],
            "type": "string"
          }
        },
        "required": ["result", "version"],
        "title": "three_d_secure_details",
        "type": "object",
        "x-expandableFields": []
      },
      "three_d_secure_usage": {
        "description": "",
        "properties": {
          "supported": {
            "description": "Whether 3D Secure is supported on this card.",
            "type": "boolean"
          }
        },
        "required": ["supported"],
        "title": "three_d_secure_usage",
        "type": "object",
        "x-expandableFields": []
      },
      "token": {
        "description": "Tokenization is the process Stripe uses to collect sensitive card or bank\naccount details, or personally identifiable information (PII), directly from\nyour customers in a secure manner. A token representing this information is\nreturned to your server to use. You should use our\n[recommended payments integrations](https://stripe.com/docs/payments) to perform this process\nclient-side. This ensures that no sensitive card data touches your server,\nand allows your integration to operate in a PCI-compliant way.\n\nIf you cannot use client-side tokenization, you can also create tokens using\nthe API with either your publishable or secret API key. Keep in mind that if\nyour integration uses this method, you are responsible for any PCI compliance\nthat may be required, and you must keep your secret API key safe. Unlike with\nclient-side tokenization, your customer's information is not sent directly to\nStripe, so we cannot determine how it is handled or stored.\n\nTokens cannot be stored or used more than once. To store card or bank account\ninformation for later use, you can create [Customer](https://stripe.com/docs/api#customers)\nobjects or [Custom accounts](https://stripe.com/docs/api#external_accounts). Note that\n[Radar](https://stripe.com/docs/radar), our integrated solution for automatic fraud protection,\nsupports only integrations that use client-side tokenization.\n\nRelated guide: [Accept a payment](https://stripe.com/docs/payments/accept-a-payment-charges#web-create-token)",
        "properties": {
          "bank_account": {
            "$ref": "#/components/schemas/bank_account"
          },
          "card": {
            "$ref": "#/components/schemas/card"
          },
          "client_ip": {
            "description": "IP address of the client that generated the token.",
            "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"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["token"],
            "type": "string"
          },
          "type": {
            "description": "Type of the token: `account`, `bank_account`, `card`, or `pii`.",
            "maxLength": 5000,
            "type": "string"
          },
          "used": {
            "description": "Whether this token has already been used (tokens can be used only once).",
            "type": "boolean"
          }
        },
        "required": ["created", "id", "livemode", "object", "type", "used"],
        "title": "Token",
        "type": "object",
        "x-expandableFields": ["bank_account", "card"],
        "x-resourceId": "token"
      },
      "topup": {
        "description": "To top up your Stripe balance, you create a top-up object. You can retrieve\nindividual top-ups, as well as list all top-ups. Top-ups are identified by a\nunique, random ID.\n\nRelated guide: [Topping Up your Platform Account](https://stripe.com/docs/connect/top-ups).",
        "properties": {
          "amount": {
            "description": "Amount transferred.",
            "type": "integer"
          },
          "balance_transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/balance_transaction"
              }
            ],
            "description": "ID of the balance transaction that describes the impact of this top-up on your account balance. May not be specified depending on status of top-up.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/balance_transaction"
                }
              ]
            }
          },
          "created": {
            "description": "Time at which the object was created. Measured in seconds since the Unix epoch.",
            "format": "unix-time",
            "type": "integer"
          },
          "currency": {
            "description": "Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).",
            "maxLength": 5000,
            "type": "string"
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "expected_availability_date": {
            "description": "Date the funds are expected to arrive in your Stripe account for payouts. This factors in delays like weekends or bank holidays. May not be specified depending on status of top-up.",
            "nullable": true,
            "type": "integer"
          },
          "failure_code": {
            "description": "Error code explaining reason for top-up failure if available (see [the errors section](https://stripe.com/docs/api#errors) for a list of codes).",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "failure_message": {
            "description": "Message to user further explaining reason for top-up failure if available.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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://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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["topup"],
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/source"
          },
          "statement_descriptor": {
            "description": "Extra information about a top-up. This will appear on your source's bank statement. It must contain at least one letter.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "status": {
            "description": "The status of the top-up is either `canceled`, `failed`, `pending`, `reversed`, or `succeeded`.",
            "enum": ["canceled", "failed", "pending", "reversed", "succeeded"],
            "type": "string"
          },
          "transfer_group": {
            "description": "A string that identifies this top-up as part of a group.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": ["amount", "created", "currency", "id", "livemode", "metadata", "object", "source", "status"],
        "title": "Topup",
        "type": "object",
        "x-expandableFields": ["balance_transaction", "source"],
        "x-resourceId": "topup"
      },
      "transfer": {
        "description": "A `Transfer` object is created when you move funds between Stripe accounts as\npart of Connect.\n\nBefore April 6, 2017, transfers also represented movement of funds from a\nStripe account to a card or bank account. This behavior has since been split\nout into a [Payout](https://stripe.com/docs/api#payout_object) object, with corresponding payout endpoints. For more\ninformation, read about the\n[transfer/payout split](https://stripe.com/docs/transfer-payout-split).\n\nRelated guide: [Creating Separate Charges and Transfers](https://stripe.com/docs/connect/charges-transfers).",
        "properties": {
          "amount": {
            "description": "Amount in %s to be transferred.",
            "type": "integer"
          },
          "amount_reversed": {
            "description": "Amount in %s reversed (can be less than the amount attribute on the transfer if a partial reversal was issued).",
            "type": "integer"
          },
          "balance_transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/balance_transaction"
              }
            ],
            "description": "Balance transaction that describes the impact of this transfer on your account balance.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/balance_transaction"
                }
              ]
            }
          },
          "created": {
            "description": "Time that this record of the transfer was first created.",
            "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).",
            "type": "string"
          },
          "description": {
            "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "destination": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "ID of the Stripe account the transfer was sent to.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          },
          "destination_payment": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/charge"
              }
            ],
            "description": "If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/charge"
                }
              ]
            }
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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://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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["transfer"],
            "type": "string"
          },
          "reversals": {
            "description": "A list of reversals that have been applied to the transfer.",
            "properties": {
              "data": {
                "description": "Details about each object.",
                "items": {
                  "$ref": "#/components/schemas/transfer_reversal"
                },
                "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": "TransferReversalList",
            "type": "object",
            "x-expandableFields": ["data"]
          },
          "reversed": {
            "description": "Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false.",
            "type": "boolean"
          },
          "source_transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/charge"
              }
            ],
            "description": "ID of the charge or payment that was used to fund the transfer. If null, the transfer was funded from the available balance.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/charge"
                }
              ]
            }
          },
          "source_type": {
            "description": "The source balance this transfer came from. One of `card`, `fpx`, or `bank_account`.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "transfer_group": {
            "description": "A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/charges-transfers#transfer-options) for details.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "amount",
          "amount_reversed",
          "created",
          "currency",
          "id",
          "livemode",
          "metadata",
          "object",
          "reversals",
          "reversed"
        ],
        "title": "Transfer",
        "type": "object",
        "x-expandableFields": [
          "balance_transaction",
          "destination",
          "destination_payment",
          "reversals",
          "source_transaction"
        ],
        "x-resourceId": "transfer"
      },
      "transfer_data": {
        "description": "",
        "properties": {
          "amount": {
            "description": "Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).",
            "type": "integer"
          },
          "destination": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/account"
              }
            ],
            "description": "The account (if any) the payment will be attributed to for tax\nreporting, and where funds from the payment will be transferred to upon\npayment success.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/account"
                }
              ]
            }
          }
        },
        "required": ["destination"],
        "title": "transfer_data",
        "type": "object",
        "x-expandableFields": ["destination"]
      },
      "transfer_reversal": {
        "description": "[Stripe Connect](https://stripe.com/docs/connect) platforms can reverse transfers made to a\nconnected account, either entirely or partially, and can also specify whether\nto refund any related application fees. Transfer reversals add to the\nplatform's balance and subtract from the destination account's balance.\n\nReversing a transfer that was made for a [destination\ncharge](/docs/connect/destination-charges) is allowed only up to the amount of\nthe charge. It is possible to reverse a\n[transfer_group](https://stripe.com/docs/connect/charges-transfers#transfer-options)\ntransfer only if the destination account has enough balance to cover the\nreversal.\n\nRelated guide: [Reversing Transfers](https://stripe.com/docs/connect/charges-transfers#reversing-transfers).",
        "properties": {
          "amount": {
            "description": "Amount, in %s.",
            "type": "integer"
          },
          "balance_transaction": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/balance_transaction"
              }
            ],
            "description": "Balance transaction that describes the impact on your account balance.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/balance_transaction"
                }
              ]
            }
          },
          "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).",
            "type": "string"
          },
          "destination_payment_refund": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/refund"
              }
            ],
            "description": "Linked payment refund for the transfer reversal.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/refund"
                }
              ]
            }
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "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.",
            "nullable": true,
            "type": "object"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["transfer_reversal"],
            "type": "string"
          },
          "source_refund": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/refund"
              }
            ],
            "description": "ID of the refund responsible for the transfer reversal.",
            "nullable": true,
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/refund"
                }
              ]
            }
          },
          "transfer": {
            "anyOf": [
              {
                "maxLength": 5000,
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/transfer"
              }
            ],
            "description": "ID of the transfer that was reversed.",
            "x-expansionResources": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/transfer"
                }
              ]
            }
          }
        },
        "required": ["amount", "created", "currency", "id", "object", "transfer"],
        "title": "TransferReversal",
        "type": "object",
        "x-expandableFields": ["balance_transaction", "destination_payment_refund", "source_refund", "transfer"],
        "x-resourceId": "transfer_reversal"
      },
      "transfer_schedule": {
        "description": "",
        "properties": {
          "delay_days": {
            "description": "The number of days charges for the account will be held before being paid out.",
            "type": "integer"
          },
          "interval": {
            "description": "How frequently funds will be paid out. One of `manual` (payouts only created via API call), `daily`, `weekly`, or `monthly`.",
            "maxLength": 5000,
            "type": "string"
          },
          "monthly_anchor": {
            "description": "The day of the month funds will be paid out. Only shown if `interval` is monthly. Payouts scheduled between the 29th and 31st of the month are sent on the last day of shorter months.",
            "type": "integer"
          },
          "weekly_anchor": {
            "description": "The day of the week funds will be paid out, of the style 'monday', 'tuesday', etc. Only shown if `interval` is weekly.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["delay_days", "interval"],
        "title": "TransferSchedule",
        "type": "object",
        "x-expandableFields": []
      },
      "transform_quantity": {
        "description": "",
        "properties": {
          "divide_by": {
            "description": "Divide usage by this number.",
            "type": "integer"
          },
          "round": {
            "description": "After division, either round the result `up` or `down`.",
            "enum": ["down", "up"],
            "type": "string"
          }
        },
        "required": ["divide_by", "round"],
        "title": "TransformQuantity",
        "type": "object",
        "x-expandableFields": []
      },
      "transform_usage": {
        "description": "",
        "properties": {
          "divide_by": {
            "description": "Divide usage by this number.",
            "type": "integer"
          },
          "round": {
            "description": "After division, either round the result `up` or `down`.",
            "enum": ["down", "up"],
            "type": "string"
          }
        },
        "required": ["divide_by", "round"],
        "title": "TransformUsage",
        "type": "object",
        "x-expandableFields": []
      },
      "usage_record": {
        "description": "Usage records allow you to report customer usage and metrics to Stripe for\nmetered billing of subscription prices.\n\nRelated guide: [Metered Billing](https://stripe.com/docs/billing/subscriptions/metered-billing).",
        "properties": {
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["usage_record"],
            "type": "string"
          },
          "quantity": {
            "description": "The usage quantity for the specified date.",
            "type": "integer"
          },
          "subscription_item": {
            "description": "The ID of the subscription item this usage record contains data for.",
            "maxLength": 5000,
            "type": "string"
          },
          "timestamp": {
            "description": "The timestamp when this usage occurred.",
            "format": "unix-time",
            "type": "integer"
          }
        },
        "required": ["id", "livemode", "object", "quantity", "subscription_item", "timestamp"],
        "title": "UsageRecord",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "usage_record"
      },
      "usage_record_summary": {
        "description": "",
        "properties": {
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "type": "string"
          },
          "invoice": {
            "description": "The invoice in which this usage period has been billed for.",
            "maxLength": 5000,
            "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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["usage_record_summary"],
            "type": "string"
          },
          "period": {
            "$ref": "#/components/schemas/period"
          },
          "subscription_item": {
            "description": "The ID of the subscription item this summary is describing.",
            "maxLength": 5000,
            "type": "string"
          },
          "total_usage": {
            "description": "The total usage within this usage period.",
            "type": "integer"
          }
        },
        "required": ["id", "livemode", "object", "period", "subscription_item", "total_usage"],
        "title": "UsageRecordSummary",
        "type": "object",
        "x-expandableFields": ["period"],
        "x-resourceId": "usage_record_summary"
      },
      "webhook_endpoint": {
        "description": "You can configure [webhook endpoints](https://stripe.com/docs/webhooks/) via the API to be\nnotified about events that happen in your Stripe account or connected\naccounts.\n\nMost users configure webhooks from [the dashboard](https://dashboard.stripe.com/webhooks), which provides a user interface for registering and testing your webhook endpoints.\n\nRelated guide: [Setting up Webhooks](https://stripe.com/docs/webhooks/configure).",
        "properties": {
          "api_version": {
            "description": "The API version events are rendered as for this webhook endpoint.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "application": {
            "description": "The ID of the associated Connect application.",
            "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 optional description of what the webhook is used for.",
            "maxLength": 5000,
            "nullable": true,
            "type": "string"
          },
          "enabled_events": {
            "description": "The list of events to enable for this endpoint. `['*']` indicates that all events are enabled, except those that require explicit selection.",
            "items": {
              "maxLength": 5000,
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "description": "Unique identifier for the object.",
            "maxLength": 5000,
            "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://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"
          },
          "object": {
            "description": "String representing the object's type. Objects of the same type share the same value.",
            "enum": ["webhook_endpoint"],
            "type": "string"
          },
          "secret": {
            "description": "The endpoint's secret, used to generate [webhook signatures](https://stripe.com/docs/webhooks/signatures). Only returned at creation.",
            "maxLength": 5000,
            "type": "string"
          },
          "status": {
            "description": "The status of the webhook. It can be `enabled` or `disabled`.",
            "maxLength": 5000,
            "type": "string"
          },
          "url": {
            "description": "The URL of the webhook endpoint.",
            "maxLength": 5000,
            "type": "string"
          }
        },
        "required": ["created", "enabled_events", "id", "livemode", "metadata", "object", "status", "url"],
        "title": "NotificationWebhookEndpoint",
        "type": "object",
        "x-expandableFields": [],
        "x-resourceId": "webhook_endpoint"
      }
    },
    "securitySchemes": {
      "basicAuth": {
        "description": "Basic HTTP authentication. Allowed headers-- Authorization: Basic <api_key> | Authorization: Basic <base64 hash of `api_key:`>",
        "scheme": "basic",
        "type": "http"
      },
      "bearerAuth": {
        "bearerFormat": "auth-scheme",
        "description": "Bearer HTTP authentication. Allowed headers-- Authorization: Bearer <api_key>",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "contact": {
      "email": "dev-platform@stripe.com",
      "name": "Stripe Dev Platform Team",
      "url": "https://stripe.com"
    },
    "description": "The Stripe REST API. Please see https://stripe.com/docs/api for more details.",
    "termsOfService": "https://stripe.com/us/terms/",
    "title": "Stripe API",
    "version": "2020-08-27",
    "x-stripeSpecFilename": "spec3"
  },
  "openapi": "3.0.0",
  "paths": {
    "/v1/3d_secure": {
      "post": {
        "description": "<p>Initiate 3D Secure authentication.</p>",
        "operationId": "Post3dSecure",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "Amount of the charge that you will create when authentication completes.",
                    "type": "integer"
                  },
                  "card": {
                    "description": "The ID of a card token, or the ID of a card belonging to the given customer.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "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).",
                    "type": "string"
                  },
                  "customer": {
                    "description": "The customer associated with this 3D secure authentication.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "return_url": {
                    "description": "The URL that the cardholder's browser will be returned to when authentication completes.",
                    "type": "string"
                  }
                },
                "required": ["amount", "currency", "return_url"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/three_d_secure"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/3d_secure/{three_d_secure}": {
      "get": {
        "description": "<p>Retrieves a 3D Secure object.</p>",
        "operationId": "Get3dSecureThreeDSecure",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "three_d_secure",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/three_d_secure"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/account": {
      "delete": {
        "description": "<p>With <a href=\"/docs/connect\">Connect</a>, you can delete Custom or Express accounts you manage.</p>\n\n<p>Accounts created using test-mode keys can be deleted at any time. Accounts created using live-mode keys can only be deleted once all balances are zero.</p>\n\n<p>If you want to delete your own account, use the <a href=\"https://dashboard.stripe.com/account\">account information tab in your account settings</a> instead.</p>",
        "operationId": "DeleteAccount",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account": {
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves the details of an account.</p>",
        "operationId": "GetAccount",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates a connected <a href=\"/docs/connect/accounts\">Express or Custom account</a> by setting the values of the parameters passed. Any parameters not provided are left unchanged. Most parameters can be changed only for Custom accounts. (These are marked <strong>Custom Only</strong> below.) Parameters marked <strong>Custom and Express</strong> are supported by both account types.</p>\n\n<p>To update your own account, use the <a href=\"https://dashboard.stripe.com/account\">Dashboard</a>. Refer to our <a href=\"/docs/connect/updating-accounts\">Connect</a> documentation to learn more about updating accounts.</p>",
        "operationId": "PostAccount",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "bank_account": {
                  "explode": true,
                  "style": "deepObject"
                },
                "business_profile": {
                  "explode": true,
                  "style": "deepObject"
                },
                "capabilities": {
                  "explode": true,
                  "style": "deepObject"
                },
                "company": {
                  "explode": true,
                  "style": "deepObject"
                },
                "documents": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "individual": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "settings": {
                  "explode": true,
                  "style": "deepObject"
                },
                "tos_acceptance": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account_token": {
                    "description": "An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "bank_account": {
                    "anyOf": [
                      {
                        "properties": {
                          "account_holder_name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_holder_type": {
                            "enum": ["company", "individual"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "object": {
                            "enum": ["bank_account"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "routing_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["account_number", "country"],
                        "title": "external_account_payout_bank_account",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details."
                  },
                  "business_profile": {
                    "description": "Business information about the account.",
                    "properties": {
                      "mcc": {
                        "maxLength": 4,
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "product_description": {
                        "maxLength": 40000,
                        "type": "string"
                      },
                      "support_address": {
                        "properties": {
                          "city": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "address_specs",
                        "type": "object"
                      },
                      "support_email": {
                        "type": "string"
                      },
                      "support_phone": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "support_url": {
                        "type": "string"
                      },
                      "url": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "business_profile_specs",
                    "type": "object"
                  },
                  "business_type": {
                    "description": "The business type.",
                    "enum": ["company", "government_entity", "individual", "non_profit"],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "capabilities": {
                    "description": "Each key of the dictionary represents a capability, and each capability maps to its settings (e.g. whether it has been requested or not). Each capability will be inactive until you have provided its specific requirements and Stripe has verified them. An account may have some of its requested capabilities be active and some be inactive.",
                    "properties": {
                      "afterpay_clearpay_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "au_becs_debit_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "bacs_debit_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "bancontact_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "card_issuing": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "card_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "cartes_bancaires_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "eps_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "fpx_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "giropay_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "grabpay_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "ideal_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "jcb_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "legacy_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "oxxo_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "p24_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "sepa_debit_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "sofort_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "tax_reporting_us_1099_k": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "tax_reporting_us_1099_misc": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "transfers": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      }
                    },
                    "title": "capabilities_param",
                    "type": "object"
                  },
                  "company": {
                    "description": "Information about the company or business. This field is available for any `business_type`.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "address_specs",
                        "type": "object"
                      },
                      "address_kana": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "town": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "japan_address_kana_specs",
                        "type": "object"
                      },
                      "address_kanji": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "town": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "japan_address_kanji_specs",
                        "type": "object"
                      },
                      "directors_provided": {
                        "type": "boolean"
                      },
                      "executives_provided": {
                        "type": "boolean"
                      },
                      "name": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "name_kana": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "name_kanji": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "owners_provided": {
                        "type": "boolean"
                      },
                      "phone": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "registration_number": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "structure": {
                        "enum": [
                          "",
                          "government_instrumentality",
                          "governmental_unit",
                          "incorporated_non_profit",
                          "limited_liability_partnership",
                          "multi_member_llc",
                          "private_company",
                          "private_corporation",
                          "private_partnership",
                          "public_company",
                          "public_corporation",
                          "public_partnership",
                          "sole_proprietorship",
                          "tax_exempt_government_instrumentality",
                          "unincorporated_association",
                          "unincorporated_non_profit"
                        ],
                        "type": "string",
                        "x-stripeBypassValidation": true
                      },
                      "tax_id": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "tax_id_registrar": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "vat_id": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "verification": {
                        "properties": {
                          "document": {
                            "properties": {
                              "back": {
                                "maxLength": 500,
                                "type": "string"
                              },
                              "front": {
                                "maxLength": 500,
                                "type": "string"
                              }
                            },
                            "title": "verification_document_specs",
                            "type": "object"
                          }
                        },
                        "title": "verification_specs",
                        "type": "object"
                      }
                    },
                    "title": "company_specs",
                    "type": "object"
                  },
                  "default_currency": {
                    "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts).",
                    "type": "string"
                  },
                  "documents": {
                    "description": "Documents that may be submitted to satisfy various informational requests.",
                    "properties": {
                      "bank_account_ownership_verification": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_license": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_memorandum_of_association": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_ministerial_decree": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_registration_verification": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_tax_id_verification": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      }
                    },
                    "title": "documents_specs",
                    "type": "object"
                  },
                  "email": {
                    "description": "The email address of the account holder. This is only to make the account easier to identify to you. Stripe will never directly email Custom accounts.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "external_account": {
                    "description": "A card or bank account to attach to the account for receiving [payouts](https://stripe.com/docs/connect/bank-debit-card-payouts) (you won’t be able to use it for top-ups). You can provide either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary, as documented in the `external_account` parameter for [bank account](https://stripe.com/docs/api#account_create_bank_account) creation. <br><br>By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the bank account or card creation API.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "individual": {
                    "description": "Information about the person represented by the account. This field is null unless `business_type` is set to `individual`.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "address_specs",
                        "type": "object"
                      },
                      "address_kana": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "town": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "japan_address_kana_specs",
                        "type": "object"
                      },
                      "address_kanji": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "town": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "japan_address_kanji_specs",
                        "type": "object"
                      },
                      "dob": {
                        "anyOf": [
                          {
                            "properties": {
                              "day": {
                                "type": "integer"
                              },
                              "month": {
                                "type": "integer"
                              },
                              "year": {
                                "type": "integer"
                              }
                            },
                            "required": ["day", "month", "year"],
                            "title": "date_of_birth_specs",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "email": {
                        "type": "string"
                      },
                      "first_name": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "first_name_kana": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "first_name_kanji": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "gender": {
                        "type": "string"
                      },
                      "id_number": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "last_name": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "last_name_kana": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "last_name_kanji": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "maiden_name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "metadata": {
                        "anyOf": [
                          {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "phone": {
                        "type": "string"
                      },
                      "political_exposure": {
                        "enum": ["existing", "none"],
                        "type": "string"
                      },
                      "ssn_last_4": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "verification": {
                        "properties": {
                          "additional_document": {
                            "properties": {
                              "back": {
                                "maxLength": 500,
                                "type": "string"
                              },
                              "front": {
                                "maxLength": 500,
                                "type": "string"
                              }
                            },
                            "title": "person_verification_document_specs",
                            "type": "object"
                          },
                          "document": {
                            "properties": {
                              "back": {
                                "maxLength": 500,
                                "type": "string"
                              },
                              "front": {
                                "maxLength": 500,
                                "type": "string"
                              }
                            },
                            "title": "person_verification_document_specs",
                            "type": "object"
                          }
                        },
                        "title": "person_verification_specs",
                        "type": "object"
                      }
                    },
                    "title": "individual_specs",
                    "type": "object"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "settings": {
                    "description": "Options for customizing how the account functions within Stripe.",
                    "properties": {
                      "branding": {
                        "properties": {
                          "icon": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "logo": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "primary_color": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "secondary_color": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "branding_settings_specs",
                        "type": "object"
                      },
                      "card_issuing": {
                        "properties": {
                          "tos_acceptance": {
                            "properties": {
                              "date": {
                                "format": "unix-time",
                                "type": "integer"
                              },
                              "ip": {
                                "type": "string"
                              },
                              "user_agent": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "settings_terms_of_service_specs",
                            "type": "object"
                          }
                        },
                        "title": "card_issuing_settings_specs",
                        "type": "object"
                      },
                      "card_payments": {
                        "properties": {
                          "decline_on": {
                            "properties": {
                              "avs_failure": {
                                "type": "boolean"
                              },
                              "cvc_failure": {
                                "type": "boolean"
                              }
                            },
                            "title": "decline_charge_on_specs",
                            "type": "object"
                          },
                          "statement_descriptor_prefix": {
                            "maxLength": 10,
                            "type": "string"
                          }
                        },
                        "title": "card_payments_settings_specs",
                        "type": "object"
                      },
                      "payments": {
                        "properties": {
                          "statement_descriptor": {
                            "maxLength": 22,
                            "type": "string"
                          },
                          "statement_descriptor_kana": {
                            "maxLength": 22,
                            "type": "string"
                          },
                          "statement_descriptor_kanji": {
                            "maxLength": 22,
                            "type": "string"
                          }
                        },
                        "title": "payments_settings_specs",
                        "type": "object"
                      },
                      "payouts": {
                        "properties": {
                          "debit_negative_balances": {
                            "type": "boolean"
                          },
                          "schedule": {
                            "properties": {
                              "delay_days": {
                                "anyOf": [
                                  {
                                    "enum": ["minimum"],
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  {
                                    "type": "integer"
                                  }
                                ]
                              },
                              "interval": {
                                "enum": ["daily", "manual", "monthly", "weekly"],
                                "maxLength": 5000,
                                "type": "string",
                                "x-stripeBypassValidation": true
                              },
                              "monthly_anchor": {
                                "type": "integer"
                              },
                              "weekly_anchor": {
                                "enum": ["friday", "monday", "saturday", "sunday", "thursday", "tuesday", "wednesday"],
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "transfer_schedule_specs",
                            "type": "object"
                          },
                          "statement_descriptor": {
                            "maxLength": 22,
                            "type": "string"
                          }
                        },
                        "title": "payout_settings_specs",
                        "type": "object"
                      }
                    },
                    "title": "settings_specs",
                    "type": "object"
                  },
                  "tos_acceptance": {
                    "description": "Details on the account's acceptance of the [Stripe Services Agreement](https://stripe.com/docs/connect/updating-accounts#tos-acceptance).",
                    "properties": {
                      "date": {
                        "format": "unix-time",
                        "type": "integer"
                      },
                      "ip": {
                        "type": "string"
                      },
                      "service_agreement": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "user_agent": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "tos_acceptance_specs",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/account/bank_accounts": {
      "post": {
        "description": "<p>Create an external account for a given account.</p>",
        "operationId": "PostAccountBankAccounts",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "bank_account": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "bank_account": {
                    "anyOf": [
                      {
                        "properties": {
                          "account_holder_name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_holder_type": {
                            "enum": ["company", "individual"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "object": {
                            "enum": ["bank_account"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "routing_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["account_number", "country"],
                        "title": "external_account_payout_bank_account",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details."
                  },
                  "default_for_currency": {
                    "description": "When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency.",
                    "type": "boolean"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "external_account": {
                    "description": "Please refer to full [documentation](https://stripe.com/docs/api) instead.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/account/bank_accounts/{id}": {
      "delete": {
        "description": "<p>Delete a specified external account for a given account.</p>",
        "operationId": "DeleteAccountBankAccountsId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieve a specified external account for a given account.</p>",
        "operationId": "GetAccountBankAccountsId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the metadata, account holder name, and account holder type of a bank account belonging to a <a href=\"/docs/connect/custom-accounts\">Custom account</a>, and optionally sets it as the default for its currency. Other bank account details are not editable by design.</p>\n\n<p>You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.</p>",
        "operationId": "PostAccountBankAccountsId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account_holder_name": {
                    "description": "The name of the person or business that owns the bank account.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "account_holder_type": {
                    "description": "The type of entity that holds the account. This can be either `individual` or `company`.",
                    "enum": ["", "company", "individual"],
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_city": {
                    "description": "City/District/Suburb/Town/Village.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_country": {
                    "description": "Billing address country, if provided when creating card.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_line1": {
                    "description": "Address line 1 (Street address/PO Box/Company name).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_line2": {
                    "description": "Address line 2 (Apartment/Suite/Unit/Building).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_state": {
                    "description": "State/County/Province/Region.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_zip": {
                    "description": "ZIP or postal code.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_for_currency": {
                    "description": "When set to true, this becomes the default external account for its currency.",
                    "type": "boolean"
                  },
                  "exp_month": {
                    "description": "Two digit number representing the card’s expiration month.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "exp_year": {
                    "description": "Four digit number representing the card’s expiration year.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "name": {
                    "description": "Cardholder name.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/account/capabilities": {
      "get": {
        "description": "<p>Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.</p>",
        "operationId": "GetAccountCapabilities",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/capability"
                      },
                      "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": "ListAccountCapability",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/account/capabilities/{capability}": {
      "get": {
        "description": "<p>Retrieves information about the specified Account Capability.</p>",
        "operationId": "GetAccountCapabilitiesCapability",
        "parameters": [
          {
            "in": "path",
            "name": "capability",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/capability"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates an existing Account Capability.</p>",
        "operationId": "PostAccountCapabilitiesCapability",
        "parameters": [
          {
            "in": "path",
            "name": "capability",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "requested": {
                    "description": "Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/capability"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/account/external_accounts": {
      "get": {
        "description": "<p>List external accounts for an account.</p>",
        "operationId": "GetAccountExternalAccounts",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards.",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/bank_account"
                          },
                          {
                            "$ref": "#/components/schemas/card"
                          }
                        ],
                        "title": "Polymorphic"
                      },
                      "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": "ExternalAccountList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Create an external account for a given account.</p>",
        "operationId": "PostAccountExternalAccounts",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "bank_account": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "bank_account": {
                    "anyOf": [
                      {
                        "properties": {
                          "account_holder_name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_holder_type": {
                            "enum": ["company", "individual"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "object": {
                            "enum": ["bank_account"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "routing_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["account_number", "country"],
                        "title": "external_account_payout_bank_account",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details."
                  },
                  "default_for_currency": {
                    "description": "When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency.",
                    "type": "boolean"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "external_account": {
                    "description": "Please refer to full [documentation](https://stripe.com/docs/api) instead.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/account/external_accounts/{id}": {
      "delete": {
        "description": "<p>Delete a specified external account for a given account.</p>",
        "operationId": "DeleteAccountExternalAccountsId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieve a specified external account for a given account.</p>",
        "operationId": "GetAccountExternalAccountsId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the metadata, account holder name, and account holder type of a bank account belonging to a <a href=\"/docs/connect/custom-accounts\">Custom account</a>, and optionally sets it as the default for its currency. Other bank account details are not editable by design.</p>\n\n<p>You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.</p>",
        "operationId": "PostAccountExternalAccountsId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account_holder_name": {
                    "description": "The name of the person or business that owns the bank account.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "account_holder_type": {
                    "description": "The type of entity that holds the account. This can be either `individual` or `company`.",
                    "enum": ["", "company", "individual"],
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_city": {
                    "description": "City/District/Suburb/Town/Village.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_country": {
                    "description": "Billing address country, if provided when creating card.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_line1": {
                    "description": "Address line 1 (Street address/PO Box/Company name).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_line2": {
                    "description": "Address line 2 (Apartment/Suite/Unit/Building).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_state": {
                    "description": "State/County/Province/Region.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_zip": {
                    "description": "ZIP or postal code.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_for_currency": {
                    "description": "When set to true, this becomes the default external account for its currency.",
                    "type": "boolean"
                  },
                  "exp_month": {
                    "description": "Two digit number representing the card’s expiration month.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "exp_year": {
                    "description": "Four digit number representing the card’s expiration year.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "name": {
                    "description": "Cardholder name.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/account/login_links": {
      "post": {
        "description": "<p>Creates a single-use login link for an Express account to access their Stripe dashboard.</p>\n\n<p><strong>You may only create login links for <a href=\"/docs/connect/express-accounts\">Express accounts</a> connected to your platform</strong>.</p>",
        "operationId": "PostAccountLoginLinks",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "redirect_url": {
                    "description": "Where to redirect the user after they log out of their dashboard.",
                    "type": "string"
                  }
                },
                "required": ["account"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/login_link"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/account/logout": {
      "put": {
        "description": "<p>Invalidates all sessions for a light account, for a platform to use during platform logout.</p>\n\n<p><strong>You may only log out <a href=\"/docs/connect/express-accounts\">Express accounts</a> connected to your platform</strong>.</p>",
        "operationId": "PutAccountLogout",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": ["account"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/light_account_logout"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/account/people": {
      "get": {
        "description": "<p>Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.</p>",
        "operationId": "GetAccountPeople",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Filters on the list of people returned based on the person's relationship to the account's company.",
            "explode": true,
            "in": "query",
            "name": "relationship",
            "required": false,
            "schema": {
              "properties": {
                "director": {
                  "type": "boolean"
                },
                "executive": {
                  "type": "boolean"
                },
                "owner": {
                  "type": "boolean"
                },
                "representative": {
                  "type": "boolean"
                }
              },
              "title": "all_people_relationship_specs",
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/person"
                      },
                      "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"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new person.</p>",
        "operationId": "PostAccountPeople",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "address": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kana": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kanji": {
                  "explode": true,
                  "style": "deepObject"
                },
                "dob": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "relationship": {
                  "explode": true,
                  "style": "deepObject"
                },
                "verification": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address": {
                    "description": "The person's address.",
                    "properties": {
                      "city": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "address_specs",
                    "type": "object"
                  },
                  "address_kana": {
                    "description": "The Kana variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kana_specs",
                    "type": "object"
                  },
                  "address_kanji": {
                    "description": "The Kanji variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kanji_specs",
                    "type": "object"
                  },
                  "dob": {
                    "anyOf": [
                      {
                        "properties": {
                          "day": {
                            "type": "integer"
                          },
                          "month": {
                            "type": "integer"
                          },
                          "year": {
                            "type": "integer"
                          }
                        },
                        "required": ["day", "month", "year"],
                        "title": "date_of_birth_specs",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The person's date of birth."
                  },
                  "email": {
                    "description": "The person's email address.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "first_name": {
                    "description": "The person's first name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kana": {
                    "description": "The Kana variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kanji": {
                    "description": "The Kanji variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "gender": {
                    "description": "The person's gender (International regulations require either \"male\" or \"female\").",
                    "type": "string"
                  },
                  "id_number": {
                    "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name": {
                    "description": "The person's last name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kana": {
                    "description": "The Kana variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kanji": {
                    "description": "The Kanji variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "maiden_name": {
                    "description": "The person's maiden name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "nationality": {
                    "description": "The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or \"XX\" if unavailable.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "person_token": {
                    "description": "A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "phone": {
                    "description": "The person's phone number.",
                    "type": "string"
                  },
                  "political_exposure": {
                    "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "relationship": {
                    "description": "The relationship that this person has with the account's legal entity.",
                    "properties": {
                      "director": {
                        "type": "boolean"
                      },
                      "executive": {
                        "type": "boolean"
                      },
                      "owner": {
                        "type": "boolean"
                      },
                      "percent_ownership": {
                        "anyOf": [
                          {
                            "type": "number"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "representative": {
                        "type": "boolean"
                      },
                      "title": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "relationship_specs",
                    "type": "object"
                  },
                  "ssn_last_4": {
                    "description": "The last four digits of the person's Social Security number (U.S. only).",
                    "type": "string"
                  },
                  "verification": {
                    "description": "The person's verification status.",
                    "properties": {
                      "additional_document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      },
                      "document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      }
                    },
                    "title": "person_verification_specs",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/account/people/{person}": {
      "delete": {
        "description": "<p>Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the <code>account_opener</code>. If your integration is using the <code>executive</code> parameter, you cannot delete the only verified <code>executive</code> on file.</p>",
        "operationId": "DeleteAccountPeoplePerson",
        "parameters": [
          {
            "in": "path",
            "name": "person",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves an existing person.</p>",
        "operationId": "GetAccountPeoplePerson",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "person",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates an existing person.</p>",
        "operationId": "PostAccountPeoplePerson",
        "parameters": [
          {
            "in": "path",
            "name": "person",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "address": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kana": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kanji": {
                  "explode": true,
                  "style": "deepObject"
                },
                "dob": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "relationship": {
                  "explode": true,
                  "style": "deepObject"
                },
                "verification": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address": {
                    "description": "The person's address.",
                    "properties": {
                      "city": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "address_specs",
                    "type": "object"
                  },
                  "address_kana": {
                    "description": "The Kana variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kana_specs",
                    "type": "object"
                  },
                  "address_kanji": {
                    "description": "The Kanji variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kanji_specs",
                    "type": "object"
                  },
                  "dob": {
                    "anyOf": [
                      {
                        "properties": {
                          "day": {
                            "type": "integer"
                          },
                          "month": {
                            "type": "integer"
                          },
                          "year": {
                            "type": "integer"
                          }
                        },
                        "required": ["day", "month", "year"],
                        "title": "date_of_birth_specs",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The person's date of birth."
                  },
                  "email": {
                    "description": "The person's email address.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "first_name": {
                    "description": "The person's first name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kana": {
                    "description": "The Kana variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kanji": {
                    "description": "The Kanji variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "gender": {
                    "description": "The person's gender (International regulations require either \"male\" or \"female\").",
                    "type": "string"
                  },
                  "id_number": {
                    "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name": {
                    "description": "The person's last name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kana": {
                    "description": "The Kana variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kanji": {
                    "description": "The Kanji variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "maiden_name": {
                    "description": "The person's maiden name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "nationality": {
                    "description": "The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or \"XX\" if unavailable.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "person_token": {
                    "description": "A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "phone": {
                    "description": "The person's phone number.",
                    "type": "string"
                  },
                  "political_exposure": {
                    "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "relationship": {
                    "description": "The relationship that this person has with the account's legal entity.",
                    "properties": {
                      "director": {
                        "type": "boolean"
                      },
                      "executive": {
                        "type": "boolean"
                      },
                      "owner": {
                        "type": "boolean"
                      },
                      "percent_ownership": {
                        "anyOf": [
                          {
                            "type": "number"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "representative": {
                        "type": "boolean"
                      },
                      "title": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "relationship_specs",
                    "type": "object"
                  },
                  "ssn_last_4": {
                    "description": "The last four digits of the person's Social Security number (U.S. only).",
                    "type": "string"
                  },
                  "verification": {
                    "description": "The person's verification status.",
                    "properties": {
                      "additional_document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      },
                      "document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      }
                    },
                    "title": "person_verification_specs",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/account/persons": {
      "get": {
        "description": "<p>Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.</p>",
        "operationId": "GetAccountPersons",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Filters on the list of people returned based on the person's relationship to the account's company.",
            "explode": true,
            "in": "query",
            "name": "relationship",
            "required": false,
            "schema": {
              "properties": {
                "director": {
                  "type": "boolean"
                },
                "executive": {
                  "type": "boolean"
                },
                "owner": {
                  "type": "boolean"
                },
                "representative": {
                  "type": "boolean"
                }
              },
              "title": "all_people_relationship_specs",
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/person"
                      },
                      "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"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new person.</p>",
        "operationId": "PostAccountPersons",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "address": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kana": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kanji": {
                  "explode": true,
                  "style": "deepObject"
                },
                "dob": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "relationship": {
                  "explode": true,
                  "style": "deepObject"
                },
                "verification": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address": {
                    "description": "The person's address.",
                    "properties": {
                      "city": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "address_specs",
                    "type": "object"
                  },
                  "address_kana": {
                    "description": "The Kana variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kana_specs",
                    "type": "object"
                  },
                  "address_kanji": {
                    "description": "The Kanji variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kanji_specs",
                    "type": "object"
                  },
                  "dob": {
                    "anyOf": [
                      {
                        "properties": {
                          "day": {
                            "type": "integer"
                          },
                          "month": {
                            "type": "integer"
                          },
                          "year": {
                            "type": "integer"
                          }
                        },
                        "required": ["day", "month", "year"],
                        "title": "date_of_birth_specs",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The person's date of birth."
                  },
                  "email": {
                    "description": "The person's email address.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "first_name": {
                    "description": "The person's first name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kana": {
                    "description": "The Kana variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kanji": {
                    "description": "The Kanji variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "gender": {
                    "description": "The person's gender (International regulations require either \"male\" or \"female\").",
                    "type": "string"
                  },
                  "id_number": {
                    "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name": {
                    "description": "The person's last name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kana": {
                    "description": "The Kana variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kanji": {
                    "description": "The Kanji variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "maiden_name": {
                    "description": "The person's maiden name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "nationality": {
                    "description": "The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or \"XX\" if unavailable.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "person_token": {
                    "description": "A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "phone": {
                    "description": "The person's phone number.",
                    "type": "string"
                  },
                  "political_exposure": {
                    "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "relationship": {
                    "description": "The relationship that this person has with the account's legal entity.",
                    "properties": {
                      "director": {
                        "type": "boolean"
                      },
                      "executive": {
                        "type": "boolean"
                      },
                      "owner": {
                        "type": "boolean"
                      },
                      "percent_ownership": {
                        "anyOf": [
                          {
                            "type": "number"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "representative": {
                        "type": "boolean"
                      },
                      "title": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "relationship_specs",
                    "type": "object"
                  },
                  "ssn_last_4": {
                    "description": "The last four digits of the person's Social Security number (U.S. only).",
                    "type": "string"
                  },
                  "verification": {
                    "description": "The person's verification status.",
                    "properties": {
                      "additional_document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      },
                      "document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      }
                    },
                    "title": "person_verification_specs",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/account/persons/{person}": {
      "delete": {
        "description": "<p>Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the <code>account_opener</code>. If your integration is using the <code>executive</code> parameter, you cannot delete the only verified <code>executive</code> on file.</p>",
        "operationId": "DeleteAccountPersonsPerson",
        "parameters": [
          {
            "in": "path",
            "name": "person",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves an existing person.</p>",
        "operationId": "GetAccountPersonsPerson",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "person",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates an existing person.</p>",
        "operationId": "PostAccountPersonsPerson",
        "parameters": [
          {
            "in": "path",
            "name": "person",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "address": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kana": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kanji": {
                  "explode": true,
                  "style": "deepObject"
                },
                "dob": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "relationship": {
                  "explode": true,
                  "style": "deepObject"
                },
                "verification": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address": {
                    "description": "The person's address.",
                    "properties": {
                      "city": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "address_specs",
                    "type": "object"
                  },
                  "address_kana": {
                    "description": "The Kana variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kana_specs",
                    "type": "object"
                  },
                  "address_kanji": {
                    "description": "The Kanji variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kanji_specs",
                    "type": "object"
                  },
                  "dob": {
                    "anyOf": [
                      {
                        "properties": {
                          "day": {
                            "type": "integer"
                          },
                          "month": {
                            "type": "integer"
                          },
                          "year": {
                            "type": "integer"
                          }
                        },
                        "required": ["day", "month", "year"],
                        "title": "date_of_birth_specs",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The person's date of birth."
                  },
                  "email": {
                    "description": "The person's email address.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "first_name": {
                    "description": "The person's first name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kana": {
                    "description": "The Kana variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kanji": {
                    "description": "The Kanji variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "gender": {
                    "description": "The person's gender (International regulations require either \"male\" or \"female\").",
                    "type": "string"
                  },
                  "id_number": {
                    "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name": {
                    "description": "The person's last name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kana": {
                    "description": "The Kana variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kanji": {
                    "description": "The Kanji variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "maiden_name": {
                    "description": "The person's maiden name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "nationality": {
                    "description": "The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or \"XX\" if unavailable.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "person_token": {
                    "description": "A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "phone": {
                    "description": "The person's phone number.",
                    "type": "string"
                  },
                  "political_exposure": {
                    "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "relationship": {
                    "description": "The relationship that this person has with the account's legal entity.",
                    "properties": {
                      "director": {
                        "type": "boolean"
                      },
                      "executive": {
                        "type": "boolean"
                      },
                      "owner": {
                        "type": "boolean"
                      },
                      "percent_ownership": {
                        "anyOf": [
                          {
                            "type": "number"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "representative": {
                        "type": "boolean"
                      },
                      "title": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "relationship_specs",
                    "type": "object"
                  },
                  "ssn_last_4": {
                    "description": "The last four digits of the person's Social Security number (U.S. only).",
                    "type": "string"
                  },
                  "verification": {
                    "description": "The person's verification status.",
                    "properties": {
                      "additional_document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      },
                      "document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      }
                    },
                    "title": "person_verification_specs",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/account_links": {
      "post": {
        "description": "<p>Creates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect Onboarding flow.</p>",
        "operationId": "PostAccountLinks",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account": {
                    "description": "The identifier of the account to create an account link for.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "collect": {
                    "description": "Which information the platform needs to collect from the user. One of `currently_due` or `eventually_due`. Default is `currently_due`.",
                    "enum": ["currently_due", "eventually_due"],
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "refresh_url": {
                    "description": "The URL the user will be redirected to if the account link is expired, has been previously-visited, or is otherwise invalid. The URL you specify should attempt to generate a new account link with the same parameters used to create the original account link, then redirect the user to the new account link's URL so they can continue with Connect Onboarding. If a new account link cannot be generated or the redirect fails you should display a useful error to the user.",
                    "type": "string"
                  },
                  "return_url": {
                    "description": "The URL that the user will be redirected to upon leaving or completing the linked flow.",
                    "type": "string"
                  },
                  "type": {
                    "description": "The type of account link the user is requesting. Possible values are `account_onboarding` or `account_update`.",
                    "enum": ["account_onboarding", "account_update"],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  }
                },
                "required": ["account", "type"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/account_link"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts": {
      "get": {
        "description": "<p>Returns a list of accounts connected to your platform via <a href=\"/docs/connect\">Connect</a>. If you’re not a platform, the list is empty.</p>",
        "operationId": "GetAccounts",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/account"
                      },
                      "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/accounts",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>With <a href=\"/docs/connect\">Connect</a>, you can create Stripe accounts for your users.\nTo do this, you’ll first need to <a href=\"https://dashboard.stripe.com/account/applications/settings\">register your platform</a>.</p>",
        "operationId": "PostAccounts",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "bank_account": {
                  "explode": true,
                  "style": "deepObject"
                },
                "business_profile": {
                  "explode": true,
                  "style": "deepObject"
                },
                "capabilities": {
                  "explode": true,
                  "style": "deepObject"
                },
                "company": {
                  "explode": true,
                  "style": "deepObject"
                },
                "documents": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "individual": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "settings": {
                  "explode": true,
                  "style": "deepObject"
                },
                "tos_acceptance": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account_token": {
                    "description": "An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "bank_account": {
                    "anyOf": [
                      {
                        "properties": {
                          "account_holder_name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_holder_type": {
                            "enum": ["company", "individual"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "object": {
                            "enum": ["bank_account"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "routing_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["account_number", "country"],
                        "title": "external_account_payout_bank_account",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details."
                  },
                  "business_profile": {
                    "description": "Business information about the account.",
                    "properties": {
                      "mcc": {
                        "maxLength": 4,
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "product_description": {
                        "maxLength": 40000,
                        "type": "string"
                      },
                      "support_address": {
                        "properties": {
                          "city": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "address_specs",
                        "type": "object"
                      },
                      "support_email": {
                        "type": "string"
                      },
                      "support_phone": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "support_url": {
                        "type": "string"
                      },
                      "url": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "business_profile_specs",
                    "type": "object"
                  },
                  "business_type": {
                    "description": "The business type.",
                    "enum": ["company", "government_entity", "individual", "non_profit"],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "capabilities": {
                    "description": "Each key of the dictionary represents a capability, and each capability maps to its settings (e.g. whether it has been requested or not). Each capability will be inactive until you have provided its specific requirements and Stripe has verified them. An account may have some of its requested capabilities be active and some be inactive.",
                    "properties": {
                      "afterpay_clearpay_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "au_becs_debit_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "bacs_debit_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "bancontact_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "card_issuing": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "card_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "cartes_bancaires_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "eps_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "fpx_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "giropay_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "grabpay_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "ideal_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "jcb_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "legacy_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "oxxo_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "p24_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "sepa_debit_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "sofort_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "tax_reporting_us_1099_k": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "tax_reporting_us_1099_misc": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "transfers": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      }
                    },
                    "title": "capabilities_param",
                    "type": "object"
                  },
                  "company": {
                    "description": "Information about the company or business. This field is available for any `business_type`.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "address_specs",
                        "type": "object"
                      },
                      "address_kana": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "town": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "japan_address_kana_specs",
                        "type": "object"
                      },
                      "address_kanji": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "town": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "japan_address_kanji_specs",
                        "type": "object"
                      },
                      "directors_provided": {
                        "type": "boolean"
                      },
                      "executives_provided": {
                        "type": "boolean"
                      },
                      "name": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "name_kana": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "name_kanji": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "owners_provided": {
                        "type": "boolean"
                      },
                      "phone": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "registration_number": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "structure": {
                        "enum": [
                          "",
                          "government_instrumentality",
                          "governmental_unit",
                          "incorporated_non_profit",
                          "limited_liability_partnership",
                          "multi_member_llc",
                          "private_company",
                          "private_corporation",
                          "private_partnership",
                          "public_company",
                          "public_corporation",
                          "public_partnership",
                          "sole_proprietorship",
                          "tax_exempt_government_instrumentality",
                          "unincorporated_association",
                          "unincorporated_non_profit"
                        ],
                        "type": "string",
                        "x-stripeBypassValidation": true
                      },
                      "tax_id": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "tax_id_registrar": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "vat_id": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "verification": {
                        "properties": {
                          "document": {
                            "properties": {
                              "back": {
                                "maxLength": 500,
                                "type": "string"
                              },
                              "front": {
                                "maxLength": 500,
                                "type": "string"
                              }
                            },
                            "title": "verification_document_specs",
                            "type": "object"
                          }
                        },
                        "title": "verification_specs",
                        "type": "object"
                      }
                    },
                    "title": "company_specs",
                    "type": "object"
                  },
                  "country": {
                    "description": "The country in which the account holder resides, or in which the business is legally established. This should be an ISO 3166-1 alpha-2 country code. For example, if you are in the United States and the business for which you're creating an account is legally represented in Canada, you would use `CA` as the country for the account being created.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_currency": {
                    "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts).",
                    "type": "string"
                  },
                  "documents": {
                    "description": "Documents that may be submitted to satisfy various informational requests.",
                    "properties": {
                      "bank_account_ownership_verification": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_license": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_memorandum_of_association": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_ministerial_decree": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_registration_verification": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_tax_id_verification": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      }
                    },
                    "title": "documents_specs",
                    "type": "object"
                  },
                  "email": {
                    "description": "The email address of the account holder. This is only to make the account easier to identify to you. Stripe will never directly email Custom accounts.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "external_account": {
                    "description": "A card or bank account to attach to the account for receiving [payouts](https://stripe.com/docs/connect/bank-debit-card-payouts) (you won’t be able to use it for top-ups). You can provide either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary, as documented in the `external_account` parameter for [bank account](https://stripe.com/docs/api#account_create_bank_account) creation. <br><br>By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the bank account or card creation API.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "individual": {
                    "description": "Information about the person represented by the account. This field is null unless `business_type` is set to `individual`.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "address_specs",
                        "type": "object"
                      },
                      "address_kana": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "town": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "japan_address_kana_specs",
                        "type": "object"
                      },
                      "address_kanji": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "town": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "japan_address_kanji_specs",
                        "type": "object"
                      },
                      "dob": {
                        "anyOf": [
                          {
                            "properties": {
                              "day": {
                                "type": "integer"
                              },
                              "month": {
                                "type": "integer"
                              },
                              "year": {
                                "type": "integer"
                              }
                            },
                            "required": ["day", "month", "year"],
                            "title": "date_of_birth_specs",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "email": {
                        "type": "string"
                      },
                      "first_name": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "first_name_kana": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "first_name_kanji": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "gender": {
                        "type": "string"
                      },
                      "id_number": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "last_name": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "last_name_kana": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "last_name_kanji": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "maiden_name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "metadata": {
                        "anyOf": [
                          {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "phone": {
                        "type": "string"
                      },
                      "political_exposure": {
                        "enum": ["existing", "none"],
                        "type": "string"
                      },
                      "ssn_last_4": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "verification": {
                        "properties": {
                          "additional_document": {
                            "properties": {
                              "back": {
                                "maxLength": 500,
                                "type": "string"
                              },
                              "front": {
                                "maxLength": 500,
                                "type": "string"
                              }
                            },
                            "title": "person_verification_document_specs",
                            "type": "object"
                          },
                          "document": {
                            "properties": {
                              "back": {
                                "maxLength": 500,
                                "type": "string"
                              },
                              "front": {
                                "maxLength": 500,
                                "type": "string"
                              }
                            },
                            "title": "person_verification_document_specs",
                            "type": "object"
                          }
                        },
                        "title": "person_verification_specs",
                        "type": "object"
                      }
                    },
                    "title": "individual_specs",
                    "type": "object"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "settings": {
                    "description": "Options for customizing how the account functions within Stripe.",
                    "properties": {
                      "branding": {
                        "properties": {
                          "icon": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "logo": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "primary_color": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "secondary_color": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "branding_settings_specs",
                        "type": "object"
                      },
                      "card_issuing": {
                        "properties": {
                          "tos_acceptance": {
                            "properties": {
                              "date": {
                                "format": "unix-time",
                                "type": "integer"
                              },
                              "ip": {
                                "type": "string"
                              },
                              "user_agent": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "settings_terms_of_service_specs",
                            "type": "object"
                          }
                        },
                        "title": "card_issuing_settings_specs",
                        "type": "object"
                      },
                      "card_payments": {
                        "properties": {
                          "decline_on": {
                            "properties": {
                              "avs_failure": {
                                "type": "boolean"
                              },
                              "cvc_failure": {
                                "type": "boolean"
                              }
                            },
                            "title": "decline_charge_on_specs",
                            "type": "object"
                          },
                          "statement_descriptor_prefix": {
                            "maxLength": 10,
                            "type": "string"
                          }
                        },
                        "title": "card_payments_settings_specs",
                        "type": "object"
                      },
                      "payments": {
                        "properties": {
                          "statement_descriptor": {
                            "maxLength": 22,
                            "type": "string"
                          },
                          "statement_descriptor_kana": {
                            "maxLength": 22,
                            "type": "string"
                          },
                          "statement_descriptor_kanji": {
                            "maxLength": 22,
                            "type": "string"
                          }
                        },
                        "title": "payments_settings_specs",
                        "type": "object"
                      },
                      "payouts": {
                        "properties": {
                          "debit_negative_balances": {
                            "type": "boolean"
                          },
                          "schedule": {
                            "properties": {
                              "delay_days": {
                                "anyOf": [
                                  {
                                    "enum": ["minimum"],
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  {
                                    "type": "integer"
                                  }
                                ]
                              },
                              "interval": {
                                "enum": ["daily", "manual", "monthly", "weekly"],
                                "maxLength": 5000,
                                "type": "string",
                                "x-stripeBypassValidation": true
                              },
                              "monthly_anchor": {
                                "type": "integer"
                              },
                              "weekly_anchor": {
                                "enum": ["friday", "monday", "saturday", "sunday", "thursday", "tuesday", "wednesday"],
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "transfer_schedule_specs",
                            "type": "object"
                          },
                          "statement_descriptor": {
                            "maxLength": 22,
                            "type": "string"
                          }
                        },
                        "title": "payout_settings_specs",
                        "type": "object"
                      }
                    },
                    "title": "settings_specs",
                    "type": "object"
                  },
                  "tos_acceptance": {
                    "description": "Details on the account's acceptance of the [Stripe Services Agreement](https://stripe.com/docs/connect/updating-accounts#tos-acceptance).",
                    "properties": {
                      "date": {
                        "format": "unix-time",
                        "type": "integer"
                      },
                      "ip": {
                        "type": "string"
                      },
                      "service_agreement": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "user_agent": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "tos_acceptance_specs",
                    "type": "object"
                  },
                  "type": {
                    "description": "The type of Stripe account to create. May be one of `custom`, `express` or `standard`.",
                    "enum": ["custom", "express", "standard"],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts/{account}": {
      "delete": {
        "description": "<p>With <a href=\"/docs/connect\">Connect</a>, you can delete Custom or Express accounts you manage.</p>\n\n<p>Accounts created using test-mode keys can be deleted at any time. Accounts created using live-mode keys can only be deleted once all balances are zero.</p>\n\n<p>If you want to delete your own account, use the <a href=\"https://dashboard.stripe.com/account\">account information tab in your account settings</a> instead.</p>",
        "operationId": "DeleteAccountsAccount",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves the details of an account.</p>",
        "operationId": "GetAccountsAccount",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates a connected <a href=\"/docs/connect/accounts\">Express or Custom account</a> by setting the values of the parameters passed. Any parameters not provided are left unchanged. Most parameters can be changed only for Custom accounts. (These are marked <strong>Custom Only</strong> below.) Parameters marked <strong>Custom and Express</strong> are supported by both account types.</p>\n\n<p>To update your own account, use the <a href=\"https://dashboard.stripe.com/account\">Dashboard</a>. Refer to our <a href=\"/docs/connect/updating-accounts\">Connect</a> documentation to learn more about updating accounts.</p>",
        "operationId": "PostAccountsAccount",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "bank_account": {
                  "explode": true,
                  "style": "deepObject"
                },
                "business_profile": {
                  "explode": true,
                  "style": "deepObject"
                },
                "capabilities": {
                  "explode": true,
                  "style": "deepObject"
                },
                "company": {
                  "explode": true,
                  "style": "deepObject"
                },
                "documents": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "individual": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "settings": {
                  "explode": true,
                  "style": "deepObject"
                },
                "tos_acceptance": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account_token": {
                    "description": "An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "bank_account": {
                    "anyOf": [
                      {
                        "properties": {
                          "account_holder_name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_holder_type": {
                            "enum": ["company", "individual"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "object": {
                            "enum": ["bank_account"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "routing_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["account_number", "country"],
                        "title": "external_account_payout_bank_account",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details."
                  },
                  "business_profile": {
                    "description": "Business information about the account.",
                    "properties": {
                      "mcc": {
                        "maxLength": 4,
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "product_description": {
                        "maxLength": 40000,
                        "type": "string"
                      },
                      "support_address": {
                        "properties": {
                          "city": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "address_specs",
                        "type": "object"
                      },
                      "support_email": {
                        "type": "string"
                      },
                      "support_phone": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "support_url": {
                        "type": "string"
                      },
                      "url": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "business_profile_specs",
                    "type": "object"
                  },
                  "business_type": {
                    "description": "The business type.",
                    "enum": ["company", "government_entity", "individual", "non_profit"],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "capabilities": {
                    "description": "Each key of the dictionary represents a capability, and each capability maps to its settings (e.g. whether it has been requested or not). Each capability will be inactive until you have provided its specific requirements and Stripe has verified them. An account may have some of its requested capabilities be active and some be inactive.",
                    "properties": {
                      "afterpay_clearpay_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "au_becs_debit_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "bacs_debit_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "bancontact_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "card_issuing": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "card_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "cartes_bancaires_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "eps_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "fpx_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "giropay_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "grabpay_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "ideal_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "jcb_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "legacy_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "oxxo_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "p24_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "sepa_debit_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "sofort_payments": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "tax_reporting_us_1099_k": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "tax_reporting_us_1099_misc": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      },
                      "transfers": {
                        "properties": {
                          "requested": {
                            "type": "boolean"
                          }
                        },
                        "title": "capability_param",
                        "type": "object"
                      }
                    },
                    "title": "capabilities_param",
                    "type": "object"
                  },
                  "company": {
                    "description": "Information about the company or business. This field is available for any `business_type`.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "address_specs",
                        "type": "object"
                      },
                      "address_kana": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "town": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "japan_address_kana_specs",
                        "type": "object"
                      },
                      "address_kanji": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "town": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "japan_address_kanji_specs",
                        "type": "object"
                      },
                      "directors_provided": {
                        "type": "boolean"
                      },
                      "executives_provided": {
                        "type": "boolean"
                      },
                      "name": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "name_kana": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "name_kanji": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "owners_provided": {
                        "type": "boolean"
                      },
                      "phone": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "registration_number": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "structure": {
                        "enum": [
                          "",
                          "government_instrumentality",
                          "governmental_unit",
                          "incorporated_non_profit",
                          "limited_liability_partnership",
                          "multi_member_llc",
                          "private_company",
                          "private_corporation",
                          "private_partnership",
                          "public_company",
                          "public_corporation",
                          "public_partnership",
                          "sole_proprietorship",
                          "tax_exempt_government_instrumentality",
                          "unincorporated_association",
                          "unincorporated_non_profit"
                        ],
                        "type": "string",
                        "x-stripeBypassValidation": true
                      },
                      "tax_id": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "tax_id_registrar": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "vat_id": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "verification": {
                        "properties": {
                          "document": {
                            "properties": {
                              "back": {
                                "maxLength": 500,
                                "type": "string"
                              },
                              "front": {
                                "maxLength": 500,
                                "type": "string"
                              }
                            },
                            "title": "verification_document_specs",
                            "type": "object"
                          }
                        },
                        "title": "verification_specs",
                        "type": "object"
                      }
                    },
                    "title": "company_specs",
                    "type": "object"
                  },
                  "default_currency": {
                    "description": "Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts).",
                    "type": "string"
                  },
                  "documents": {
                    "description": "Documents that may be submitted to satisfy various informational requests.",
                    "properties": {
                      "bank_account_ownership_verification": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_license": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_memorandum_of_association": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_ministerial_decree": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_registration_verification": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      },
                      "company_tax_id_verification": {
                        "properties": {
                          "files": {
                            "items": {
                              "maxLength": 500,
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "title": "documents_param",
                        "type": "object"
                      }
                    },
                    "title": "documents_specs",
                    "type": "object"
                  },
                  "email": {
                    "description": "The email address of the account holder. This is only to make the account easier to identify to you. Stripe will never directly email Custom accounts.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "external_account": {
                    "description": "A card or bank account to attach to the account for receiving [payouts](https://stripe.com/docs/connect/bank-debit-card-payouts) (you won’t be able to use it for top-ups). You can provide either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary, as documented in the `external_account` parameter for [bank account](https://stripe.com/docs/api#account_create_bank_account) creation. <br><br>By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the bank account or card creation API.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "individual": {
                    "description": "Information about the person represented by the account. This field is null unless `business_type` is set to `individual`.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "address_specs",
                        "type": "object"
                      },
                      "address_kana": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "town": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "japan_address_kana_specs",
                        "type": "object"
                      },
                      "address_kanji": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "town": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "japan_address_kanji_specs",
                        "type": "object"
                      },
                      "dob": {
                        "anyOf": [
                          {
                            "properties": {
                              "day": {
                                "type": "integer"
                              },
                              "month": {
                                "type": "integer"
                              },
                              "year": {
                                "type": "integer"
                              }
                            },
                            "required": ["day", "month", "year"],
                            "title": "date_of_birth_specs",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "email": {
                        "type": "string"
                      },
                      "first_name": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "first_name_kana": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "first_name_kanji": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "gender": {
                        "type": "string"
                      },
                      "id_number": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "last_name": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "last_name_kana": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "last_name_kanji": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "maiden_name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "metadata": {
                        "anyOf": [
                          {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "phone": {
                        "type": "string"
                      },
                      "political_exposure": {
                        "enum": ["existing", "none"],
                        "type": "string"
                      },
                      "ssn_last_4": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "verification": {
                        "properties": {
                          "additional_document": {
                            "properties": {
                              "back": {
                                "maxLength": 500,
                                "type": "string"
                              },
                              "front": {
                                "maxLength": 500,
                                "type": "string"
                              }
                            },
                            "title": "person_verification_document_specs",
                            "type": "object"
                          },
                          "document": {
                            "properties": {
                              "back": {
                                "maxLength": 500,
                                "type": "string"
                              },
                              "front": {
                                "maxLength": 500,
                                "type": "string"
                              }
                            },
                            "title": "person_verification_document_specs",
                            "type": "object"
                          }
                        },
                        "title": "person_verification_specs",
                        "type": "object"
                      }
                    },
                    "title": "individual_specs",
                    "type": "object"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "settings": {
                    "description": "Options for customizing how the account functions within Stripe.",
                    "properties": {
                      "branding": {
                        "properties": {
                          "icon": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "logo": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "primary_color": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "secondary_color": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "branding_settings_specs",
                        "type": "object"
                      },
                      "card_issuing": {
                        "properties": {
                          "tos_acceptance": {
                            "properties": {
                              "date": {
                                "format": "unix-time",
                                "type": "integer"
                              },
                              "ip": {
                                "type": "string"
                              },
                              "user_agent": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "settings_terms_of_service_specs",
                            "type": "object"
                          }
                        },
                        "title": "card_issuing_settings_specs",
                        "type": "object"
                      },
                      "card_payments": {
                        "properties": {
                          "decline_on": {
                            "properties": {
                              "avs_failure": {
                                "type": "boolean"
                              },
                              "cvc_failure": {
                                "type": "boolean"
                              }
                            },
                            "title": "decline_charge_on_specs",
                            "type": "object"
                          },
                          "statement_descriptor_prefix": {
                            "maxLength": 10,
                            "type": "string"
                          }
                        },
                        "title": "card_payments_settings_specs",
                        "type": "object"
                      },
                      "payments": {
                        "properties": {
                          "statement_descriptor": {
                            "maxLength": 22,
                            "type": "string"
                          },
                          "statement_descriptor_kana": {
                            "maxLength": 22,
                            "type": "string"
                          },
                          "statement_descriptor_kanji": {
                            "maxLength": 22,
                            "type": "string"
                          }
                        },
                        "title": "payments_settings_specs",
                        "type": "object"
                      },
                      "payouts": {
                        "properties": {
                          "debit_negative_balances": {
                            "type": "boolean"
                          },
                          "schedule": {
                            "properties": {
                              "delay_days": {
                                "anyOf": [
                                  {
                                    "enum": ["minimum"],
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  {
                                    "type": "integer"
                                  }
                                ]
                              },
                              "interval": {
                                "enum": ["daily", "manual", "monthly", "weekly"],
                                "maxLength": 5000,
                                "type": "string",
                                "x-stripeBypassValidation": true
                              },
                              "monthly_anchor": {
                                "type": "integer"
                              },
                              "weekly_anchor": {
                                "enum": ["friday", "monday", "saturday", "sunday", "thursday", "tuesday", "wednesday"],
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "transfer_schedule_specs",
                            "type": "object"
                          },
                          "statement_descriptor": {
                            "maxLength": 22,
                            "type": "string"
                          }
                        },
                        "title": "payout_settings_specs",
                        "type": "object"
                      }
                    },
                    "title": "settings_specs",
                    "type": "object"
                  },
                  "tos_acceptance": {
                    "description": "Details on the account's acceptance of the [Stripe Services Agreement](https://stripe.com/docs/connect/updating-accounts#tos-acceptance).",
                    "properties": {
                      "date": {
                        "format": "unix-time",
                        "type": "integer"
                      },
                      "ip": {
                        "type": "string"
                      },
                      "service_agreement": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "user_agent": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "tos_acceptance_specs",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts/{account}/bank_accounts": {
      "post": {
        "description": "<p>Create an external account for a given account.</p>",
        "operationId": "PostAccountsAccountBankAccounts",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "bank_account": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "bank_account": {
                    "anyOf": [
                      {
                        "properties": {
                          "account_holder_name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_holder_type": {
                            "enum": ["company", "individual"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "object": {
                            "enum": ["bank_account"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "routing_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["account_number", "country"],
                        "title": "external_account_payout_bank_account",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details."
                  },
                  "default_for_currency": {
                    "description": "When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency.",
                    "type": "boolean"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "external_account": {
                    "description": "Please refer to full [documentation](https://stripe.com/docs/api) instead.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts/{account}/bank_accounts/{id}": {
      "delete": {
        "description": "<p>Delete a specified external account for a given account.</p>",
        "operationId": "DeleteAccountsAccountBankAccountsId",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieve a specified external account for a given account.</p>",
        "operationId": "GetAccountsAccountBankAccountsId",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the metadata, account holder name, and account holder type of a bank account belonging to a <a href=\"/docs/connect/custom-accounts\">Custom account</a>, and optionally sets it as the default for its currency. Other bank account details are not editable by design.</p>\n\n<p>You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.</p>",
        "operationId": "PostAccountsAccountBankAccountsId",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account_holder_name": {
                    "description": "The name of the person or business that owns the bank account.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "account_holder_type": {
                    "description": "The type of entity that holds the account. This can be either `individual` or `company`.",
                    "enum": ["", "company", "individual"],
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_city": {
                    "description": "City/District/Suburb/Town/Village.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_country": {
                    "description": "Billing address country, if provided when creating card.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_line1": {
                    "description": "Address line 1 (Street address/PO Box/Company name).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_line2": {
                    "description": "Address line 2 (Apartment/Suite/Unit/Building).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_state": {
                    "description": "State/County/Province/Region.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_zip": {
                    "description": "ZIP or postal code.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_for_currency": {
                    "description": "When set to true, this becomes the default external account for its currency.",
                    "type": "boolean"
                  },
                  "exp_month": {
                    "description": "Two digit number representing the card’s expiration month.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "exp_year": {
                    "description": "Four digit number representing the card’s expiration year.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "name": {
                    "description": "Cardholder name.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts/{account}/capabilities": {
      "get": {
        "description": "<p>Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.</p>",
        "operationId": "GetAccountsAccountCapabilities",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/capability"
                      },
                      "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": "ListAccountCapability",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts/{account}/capabilities/{capability}": {
      "get": {
        "description": "<p>Retrieves information about the specified Account Capability.</p>",
        "operationId": "GetAccountsAccountCapabilitiesCapability",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "capability",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/capability"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates an existing Account Capability.</p>",
        "operationId": "PostAccountsAccountCapabilitiesCapability",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "capability",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "requested": {
                    "description": "Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/capability"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts/{account}/external_accounts": {
      "get": {
        "description": "<p>List external accounts for an account.</p>",
        "operationId": "GetAccountsAccountExternalAccounts",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards.",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/bank_account"
                          },
                          {
                            "$ref": "#/components/schemas/card"
                          }
                        ],
                        "title": "Polymorphic"
                      },
                      "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": "ExternalAccountList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Create an external account for a given account.</p>",
        "operationId": "PostAccountsAccountExternalAccounts",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "bank_account": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "bank_account": {
                    "anyOf": [
                      {
                        "properties": {
                          "account_holder_name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_holder_type": {
                            "enum": ["company", "individual"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "object": {
                            "enum": ["bank_account"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "routing_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["account_number", "country"],
                        "title": "external_account_payout_bank_account",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details."
                  },
                  "default_for_currency": {
                    "description": "When set to true, or if this is the first external account added in this currency, this account becomes the default external account for its currency.",
                    "type": "boolean"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "external_account": {
                    "description": "Please refer to full [documentation](https://stripe.com/docs/api) instead.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts/{account}/external_accounts/{id}": {
      "delete": {
        "description": "<p>Delete a specified external account for a given account.</p>",
        "operationId": "DeleteAccountsAccountExternalAccountsId",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieve a specified external account for a given account.</p>",
        "operationId": "GetAccountsAccountExternalAccountsId",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the metadata, account holder name, and account holder type of a bank account belonging to a <a href=\"/docs/connect/custom-accounts\">Custom account</a>, and optionally sets it as the default for its currency. Other bank account details are not editable by design.</p>\n\n<p>You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.</p>",
        "operationId": "PostAccountsAccountExternalAccountsId",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account_holder_name": {
                    "description": "The name of the person or business that owns the bank account.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "account_holder_type": {
                    "description": "The type of entity that holds the account. This can be either `individual` or `company`.",
                    "enum": ["", "company", "individual"],
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_city": {
                    "description": "City/District/Suburb/Town/Village.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_country": {
                    "description": "Billing address country, if provided when creating card.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_line1": {
                    "description": "Address line 1 (Street address/PO Box/Company name).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_line2": {
                    "description": "Address line 2 (Apartment/Suite/Unit/Building).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_state": {
                    "description": "State/County/Province/Region.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_zip": {
                    "description": "ZIP or postal code.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_for_currency": {
                    "description": "When set to true, this becomes the default external account for its currency.",
                    "type": "boolean"
                  },
                  "exp_month": {
                    "description": "Two digit number representing the card’s expiration month.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "exp_year": {
                    "description": "Four digit number representing the card’s expiration year.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "name": {
                    "description": "Cardholder name.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/external_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts/{account}/login_links": {
      "post": {
        "description": "<p>Creates a single-use login link for an Express account to access their Stripe dashboard.</p>\n\n<p><strong>You may only create login links for <a href=\"/docs/connect/express-accounts\">Express accounts</a> connected to your platform</strong>.</p>",
        "operationId": "PostAccountsAccountLoginLinks",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "redirect_url": {
                    "description": "Where to redirect the user after they log out of their dashboard.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/login_link"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts/{account}/logout": {
      "put": {
        "description": "<p>Invalidates all sessions for a light account, for a platform to use during platform logout.</p>\n\n<p><strong>You may only log out <a href=\"/docs/connect/express-accounts\">Express accounts</a> connected to your platform</strong>.</p>",
        "operationId": "PutAccountsAccountLogout",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/light_account_logout"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts/{account}/people": {
      "get": {
        "description": "<p>Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.</p>",
        "operationId": "GetAccountsAccountPeople",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Filters on the list of people returned based on the person's relationship to the account's company.",
            "explode": true,
            "in": "query",
            "name": "relationship",
            "required": false,
            "schema": {
              "properties": {
                "director": {
                  "type": "boolean"
                },
                "executive": {
                  "type": "boolean"
                },
                "owner": {
                  "type": "boolean"
                },
                "representative": {
                  "type": "boolean"
                }
              },
              "title": "all_people_relationship_specs",
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/person"
                      },
                      "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"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new person.</p>",
        "operationId": "PostAccountsAccountPeople",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "address": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kana": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kanji": {
                  "explode": true,
                  "style": "deepObject"
                },
                "dob": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "relationship": {
                  "explode": true,
                  "style": "deepObject"
                },
                "verification": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "address": {
                    "description": "The person's address.",
                    "properties": {
                      "city": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "address_specs",
                    "type": "object"
                  },
                  "address_kana": {
                    "description": "The Kana variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kana_specs",
                    "type": "object"
                  },
                  "address_kanji": {
                    "description": "The Kanji variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kanji_specs",
                    "type": "object"
                  },
                  "dob": {
                    "anyOf": [
                      {
                        "properties": {
                          "day": {
                            "type": "integer"
                          },
                          "month": {
                            "type": "integer"
                          },
                          "year": {
                            "type": "integer"
                          }
                        },
                        "required": ["day", "month", "year"],
                        "title": "date_of_birth_specs",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The person's date of birth."
                  },
                  "email": {
                    "description": "The person's email address.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "first_name": {
                    "description": "The person's first name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kana": {
                    "description": "The Kana variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kanji": {
                    "description": "The Kanji variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "gender": {
                    "description": "The person's gender (International regulations require either \"male\" or \"female\").",
                    "type": "string"
                  },
                  "id_number": {
                    "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name": {
                    "description": "The person's last name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kana": {
                    "description": "The Kana variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kanji": {
                    "description": "The Kanji variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "maiden_name": {
                    "description": "The person's maiden name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "nationality": {
                    "description": "The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or \"XX\" if unavailable.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "person_token": {
                    "description": "A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "phone": {
                    "description": "The person's phone number.",
                    "type": "string"
                  },
                  "political_exposure": {
                    "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "relationship": {
                    "description": "The relationship that this person has with the account's legal entity.",
                    "properties": {
                      "director": {
                        "type": "boolean"
                      },
                      "executive": {
                        "type": "boolean"
                      },
                      "owner": {
                        "type": "boolean"
                      },
                      "percent_ownership": {
                        "anyOf": [
                          {
                            "type": "number"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "representative": {
                        "type": "boolean"
                      },
                      "title": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "relationship_specs",
                    "type": "object"
                  },
                  "ssn_last_4": {
                    "description": "The last four digits of the person's Social Security number (U.S. only).",
                    "type": "string"
                  },
                  "verification": {
                    "description": "The person's verification status.",
                    "properties": {
                      "additional_document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      },
                      "document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      }
                    },
                    "title": "person_verification_specs",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts/{account}/people/{person}": {
      "delete": {
        "description": "<p>Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the <code>account_opener</code>. If your integration is using the <code>executive</code> parameter, you cannot delete the only verified <code>executive</code> on file.</p>",
        "operationId": "DeleteAccountsAccountPeoplePerson",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "person",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves an existing person.</p>",
        "operationId": "GetAccountsAccountPeoplePerson",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "person",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates an existing person.</p>",
        "operationId": "PostAccountsAccountPeoplePerson",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "person",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "address": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kana": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kanji": {
                  "explode": true,
                  "style": "deepObject"
                },
                "dob": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "relationship": {
                  "explode": true,
                  "style": "deepObject"
                },
                "verification": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "address": {
                    "description": "The person's address.",
                    "properties": {
                      "city": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "address_specs",
                    "type": "object"
                  },
                  "address_kana": {
                    "description": "The Kana variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kana_specs",
                    "type": "object"
                  },
                  "address_kanji": {
                    "description": "The Kanji variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kanji_specs",
                    "type": "object"
                  },
                  "dob": {
                    "anyOf": [
                      {
                        "properties": {
                          "day": {
                            "type": "integer"
                          },
                          "month": {
                            "type": "integer"
                          },
                          "year": {
                            "type": "integer"
                          }
                        },
                        "required": ["day", "month", "year"],
                        "title": "date_of_birth_specs",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The person's date of birth."
                  },
                  "email": {
                    "description": "The person's email address.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "first_name": {
                    "description": "The person's first name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kana": {
                    "description": "The Kana variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kanji": {
                    "description": "The Kanji variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "gender": {
                    "description": "The person's gender (International regulations require either \"male\" or \"female\").",
                    "type": "string"
                  },
                  "id_number": {
                    "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name": {
                    "description": "The person's last name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kana": {
                    "description": "The Kana variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kanji": {
                    "description": "The Kanji variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "maiden_name": {
                    "description": "The person's maiden name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "nationality": {
                    "description": "The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or \"XX\" if unavailable.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "person_token": {
                    "description": "A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "phone": {
                    "description": "The person's phone number.",
                    "type": "string"
                  },
                  "political_exposure": {
                    "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "relationship": {
                    "description": "The relationship that this person has with the account's legal entity.",
                    "properties": {
                      "director": {
                        "type": "boolean"
                      },
                      "executive": {
                        "type": "boolean"
                      },
                      "owner": {
                        "type": "boolean"
                      },
                      "percent_ownership": {
                        "anyOf": [
                          {
                            "type": "number"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "representative": {
                        "type": "boolean"
                      },
                      "title": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "relationship_specs",
                    "type": "object"
                  },
                  "ssn_last_4": {
                    "description": "The last four digits of the person's Social Security number (U.S. only).",
                    "type": "string"
                  },
                  "verification": {
                    "description": "The person's verification status.",
                    "properties": {
                      "additional_document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      },
                      "document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      }
                    },
                    "title": "person_verification_specs",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts/{account}/persons": {
      "get": {
        "description": "<p>Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.</p>",
        "operationId": "GetAccountsAccountPersons",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Filters on the list of people returned based on the person's relationship to the account's company.",
            "explode": true,
            "in": "query",
            "name": "relationship",
            "required": false,
            "schema": {
              "properties": {
                "director": {
                  "type": "boolean"
                },
                "executive": {
                  "type": "boolean"
                },
                "owner": {
                  "type": "boolean"
                },
                "representative": {
                  "type": "boolean"
                }
              },
              "title": "all_people_relationship_specs",
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/person"
                      },
                      "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"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new person.</p>",
        "operationId": "PostAccountsAccountPersons",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "address": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kana": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kanji": {
                  "explode": true,
                  "style": "deepObject"
                },
                "dob": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "relationship": {
                  "explode": true,
                  "style": "deepObject"
                },
                "verification": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "address": {
                    "description": "The person's address.",
                    "properties": {
                      "city": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "address_specs",
                    "type": "object"
                  },
                  "address_kana": {
                    "description": "The Kana variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kana_specs",
                    "type": "object"
                  },
                  "address_kanji": {
                    "description": "The Kanji variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kanji_specs",
                    "type": "object"
                  },
                  "dob": {
                    "anyOf": [
                      {
                        "properties": {
                          "day": {
                            "type": "integer"
                          },
                          "month": {
                            "type": "integer"
                          },
                          "year": {
                            "type": "integer"
                          }
                        },
                        "required": ["day", "month", "year"],
                        "title": "date_of_birth_specs",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The person's date of birth."
                  },
                  "email": {
                    "description": "The person's email address.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "first_name": {
                    "description": "The person's first name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kana": {
                    "description": "The Kana variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kanji": {
                    "description": "The Kanji variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "gender": {
                    "description": "The person's gender (International regulations require either \"male\" or \"female\").",
                    "type": "string"
                  },
                  "id_number": {
                    "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name": {
                    "description": "The person's last name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kana": {
                    "description": "The Kana variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kanji": {
                    "description": "The Kanji variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "maiden_name": {
                    "description": "The person's maiden name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "nationality": {
                    "description": "The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or \"XX\" if unavailable.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "person_token": {
                    "description": "A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "phone": {
                    "description": "The person's phone number.",
                    "type": "string"
                  },
                  "political_exposure": {
                    "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "relationship": {
                    "description": "The relationship that this person has with the account's legal entity.",
                    "properties": {
                      "director": {
                        "type": "boolean"
                      },
                      "executive": {
                        "type": "boolean"
                      },
                      "owner": {
                        "type": "boolean"
                      },
                      "percent_ownership": {
                        "anyOf": [
                          {
                            "type": "number"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "representative": {
                        "type": "boolean"
                      },
                      "title": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "relationship_specs",
                    "type": "object"
                  },
                  "ssn_last_4": {
                    "description": "The last four digits of the person's Social Security number (U.S. only).",
                    "type": "string"
                  },
                  "verification": {
                    "description": "The person's verification status.",
                    "properties": {
                      "additional_document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      },
                      "document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      }
                    },
                    "title": "person_verification_specs",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts/{account}/persons/{person}": {
      "delete": {
        "description": "<p>Deletes an existing person’s relationship to the account’s legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the <code>account_opener</code>. If your integration is using the <code>executive</code> parameter, you cannot delete the only verified <code>executive</code> on file.</p>",
        "operationId": "DeleteAccountsAccountPersonsPerson",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "person",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves an existing person.</p>",
        "operationId": "GetAccountsAccountPersonsPerson",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "person",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates an existing person.</p>",
        "operationId": "PostAccountsAccountPersonsPerson",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "person",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "address": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kana": {
                  "explode": true,
                  "style": "deepObject"
                },
                "address_kanji": {
                  "explode": true,
                  "style": "deepObject"
                },
                "dob": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "relationship": {
                  "explode": true,
                  "style": "deepObject"
                },
                "verification": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "address": {
                    "description": "The person's address.",
                    "properties": {
                      "city": {
                        "maxLength": 100,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 200,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "address_specs",
                    "type": "object"
                  },
                  "address_kana": {
                    "description": "The Kana variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kana_specs",
                    "type": "object"
                  },
                  "address_kanji": {
                    "description": "The Kanji variation of the person's address (Japan only).",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "town": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "japan_address_kanji_specs",
                    "type": "object"
                  },
                  "dob": {
                    "anyOf": [
                      {
                        "properties": {
                          "day": {
                            "type": "integer"
                          },
                          "month": {
                            "type": "integer"
                          },
                          "year": {
                            "type": "integer"
                          }
                        },
                        "required": ["day", "month", "year"],
                        "title": "date_of_birth_specs",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The person's date of birth."
                  },
                  "email": {
                    "description": "The person's email address.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "first_name": {
                    "description": "The person's first name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kana": {
                    "description": "The Kana variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "first_name_kanji": {
                    "description": "The Kanji variation of the person's first name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "gender": {
                    "description": "The person's gender (International regulations require either \"male\" or \"female\").",
                    "type": "string"
                  },
                  "id_number": {
                    "description": "The person's ID number, as appropriate for their country. For example, a social security number in the U.S., social insurance number in Canada, etc. Instead of the number itself, you can also provide a [PII token provided by Stripe.js](https://stripe.com/docs/stripe.js#collecting-pii-data).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name": {
                    "description": "The person's last name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kana": {
                    "description": "The Kana variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "last_name_kanji": {
                    "description": "The Kanji variation of the person's last name (Japan only).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "maiden_name": {
                    "description": "The person's maiden name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "nationality": {
                    "description": "The country where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)), or \"XX\" if unavailable.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "person_token": {
                    "description": "A [person token](https://stripe.com/docs/connect/account-tokens), used to securely provide details to the person.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "phone": {
                    "description": "The person's phone number.",
                    "type": "string"
                  },
                  "political_exposure": {
                    "description": "Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "relationship": {
                    "description": "The relationship that this person has with the account's legal entity.",
                    "properties": {
                      "director": {
                        "type": "boolean"
                      },
                      "executive": {
                        "type": "boolean"
                      },
                      "owner": {
                        "type": "boolean"
                      },
                      "percent_ownership": {
                        "anyOf": [
                          {
                            "type": "number"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "representative": {
                        "type": "boolean"
                      },
                      "title": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "relationship_specs",
                    "type": "object"
                  },
                  "ssn_last_4": {
                    "description": "The last four digits of the person's Social Security number (U.S. only).",
                    "type": "string"
                  },
                  "verification": {
                    "description": "The person's verification status.",
                    "properties": {
                      "additional_document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      },
                      "document": {
                        "properties": {
                          "back": {
                            "maxLength": 500,
                            "type": "string"
                          },
                          "front": {
                            "maxLength": 500,
                            "type": "string"
                          }
                        },
                        "title": "person_verification_document_specs",
                        "type": "object"
                      }
                    },
                    "title": "person_verification_specs",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/person"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/accounts/{account}/reject": {
      "post": {
        "description": "<p>With <a href=\"/docs/connect\">Connect</a>, you may flag accounts as suspicious.</p>\n\n<p>Test-mode Custom and Express accounts can be rejected at any time. Accounts created using live-mode keys may only be rejected once all balances are zero.</p>",
        "operationId": "PostAccountsAccountReject",
        "parameters": [
          {
            "in": "path",
            "name": "account",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "reason": {
                    "description": "The reason for rejecting the account. Can be `fraud`, `terms_of_service`, or `other`.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "required": ["reason"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/apple_pay/domains": {
      "get": {
        "description": "<p>List apple pay domains.</p>",
        "operationId": "GetApplePayDomains",
        "parameters": [
          {
            "in": "query",
            "name": "domain_name",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/apple_pay_domain"
                      },
                      "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/apple_pay/domains",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "ApplePayDomainList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Create an apple pay domain.</p>",
        "operationId": "PostApplePayDomains",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "domain_name": {
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": ["domain_name"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/apple_pay_domain"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/apple_pay/domains/{domain}": {
      "delete": {
        "description": "<p>Delete an apple pay domain.</p>",
        "operationId": "DeleteApplePayDomainsDomain",
        "parameters": [
          {
            "in": "path",
            "name": "domain",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_apple_pay_domain"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieve an apple pay domain.</p>",
        "operationId": "GetApplePayDomainsDomain",
        "parameters": [
          {
            "in": "path",
            "name": "domain",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/apple_pay_domain"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/application_fees": {
      "get": {
        "description": "<p>Returns a list of application fees you’ve previously collected. The application fees are returned in sorted order, with the most recent fees appearing first.</p>",
        "operationId": "GetApplicationFees",
        "parameters": [
          {
            "description": "Only return application fees for the charge specified by this charge ID.",
            "in": "query",
            "name": "charge",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/application_fee"
                      },
                      "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/application_fees",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/application_fees/{fee}/refunds/{id}": {
      "get": {
        "description": "<p>By default, you can see the 10 most recent refunds stored directly on the application fee object, but you can also retrieve details about a specific refund stored on the application fee.</p>",
        "operationId": "GetApplicationFeesFeeRefundsId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "fee",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/fee_refund"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified application fee refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>\n\n<p>This request only accepts metadata as an argument.</p>",
        "operationId": "PostApplicationFeesFeeRefundsId",
        "parameters": [
          {
            "in": "path",
            "name": "fee",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/fee_refund"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/application_fees/{id}": {
      "get": {
        "description": "<p>Retrieves the details of an application fee that your account has collected. The same information is returned when refunding the application fee.</p>",
        "operationId": "GetApplicationFeesId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/application_fee"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/application_fees/{id}/refund": {
      "post": {
        "description": "",
        "operationId": "PostApplicationFeesIdRefund",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "type": "integer"
                  },
                  "directive": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/application_fee"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/application_fees/{id}/refunds": {
      "get": {
        "description": "<p>You can see a list of the refunds belonging to a specific application fee. Note that the 10 most recent refunds are always available by default on the application fee object. If you need more than those 10, you can use this API method and the <code>limit</code> and <code>starting_after</code> parameters to page through additional refunds.</p>",
        "operationId": "GetApplicationFeesIdRefunds",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/fee_refund"
                      },
                      "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": "FeeRefundList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Refunds an application fee that has previously been collected but not yet refunded.\nFunds will be refunded to the Stripe account from which the fee was originally collected.</p>\n\n<p>You can optionally refund only part of an application fee.\nYou can do so multiple times, until the entire fee has been refunded.</p>\n\n<p>Once entirely refunded, an application fee can’t be refunded again.\nThis method will raise an error when called on an already-refunded application fee,\nor when trying to refund more money than is left on an application fee.</p>",
        "operationId": "PostApplicationFeesIdRefunds",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "A positive integer, in _%s_, representing how much of this fee to refund. Can refund only up to the remaining unrefunded amount of the fee.",
                    "type": "integer"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/fee_refund"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/balance": {
      "get": {
        "description": "<p>Retrieves the current account balance, based on the authentication that was used to make the request.\n For a sample request, see <a href=\"/docs/connect/account-balances#accounting-for-negative-balances\">Accounting for negative balances</a>.</p>",
        "operationId": "GetBalance",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/balance"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/balance/history": {
      "get": {
        "description": "<p>Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.</p>\n\n<p>Note that this endpoint was previously called “Balance history” and used the path <code>/v1/balance/history</code>.</p>",
        "operationId": "GetBalanceHistory",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "available_on",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return transactions in a certain currency. 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).",
            "in": "query",
            "name": "currency",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "For automatic Stripe payouts only, only returns transactions that were paid out on the specified payout ID.",
            "in": "query",
            "name": "payout",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only returns the original transaction.",
            "in": "query",
            "name": "source",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only returns transactions of the given type. One of: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `payment`, `payment_failure_refund`, `payment_refund`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`.",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/balance_transaction"
                      },
                      "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/balance_transactions",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "BalanceTransactionsList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/balance/history/{id}": {
      "get": {
        "description": "<p>Retrieves the balance transaction with the given ID.</p>\n\n<p>Note that this endpoint previously used the path <code>/v1/balance/history/:id</code>.</p>",
        "operationId": "GetBalanceHistoryId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/balance_transaction"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/balance_transactions": {
      "get": {
        "description": "<p>Returns a list of transactions that have contributed to the Stripe account balance (e.g., charges, transfers, and so forth). The transactions are returned in sorted order, with the most recent transactions appearing first.</p>\n\n<p>Note that this endpoint was previously called “Balance history” and used the path <code>/v1/balance/history</code>.</p>",
        "operationId": "GetBalanceTransactions",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "available_on",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return transactions in a certain currency. 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).",
            "in": "query",
            "name": "currency",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "For automatic Stripe payouts only, only returns transactions that were paid out on the specified payout ID.",
            "in": "query",
            "name": "payout",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only returns the original transaction.",
            "in": "query",
            "name": "source",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only returns transactions of the given type. One of: `adjustment`, `advance`, `advance_funding`, `anticipation_repayment`, `application_fee`, `application_fee_refund`, `charge`, `connect_collection_transfer`, `contribution`, `issuing_authorization_hold`, `issuing_authorization_release`, `issuing_dispute`, `issuing_transaction`, `payment`, `payment_failure_refund`, `payment_refund`, `payout`, `payout_cancel`, `payout_failure`, `refund`, `refund_failure`, `reserve_transaction`, `reserved_funds`, `stripe_fee`, `stripe_fx_fee`, `tax_fee`, `topup`, `topup_reversal`, `transfer`, `transfer_cancel`, `transfer_failure`, or `transfer_refund`.",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/balance_transaction"
                      },
                      "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/balance_transactions",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "BalanceTransactionsList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/balance_transactions/{id}": {
      "get": {
        "description": "<p>Retrieves the balance transaction with the given ID.</p>\n\n<p>Note that this endpoint previously used the path <code>/v1/balance/history/:id</code>.</p>",
        "operationId": "GetBalanceTransactionsId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/balance_transaction"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/billing_portal/configurations": {
      "get": {
        "description": "<p>Returns a list of configurations that describe the functionality of the customer portal.</p>",
        "operationId": "GetBillingPortalConfigurations",
        "parameters": [
          {
            "description": "Only return configurations that are active or inactive (e.g., pass `true` to only list active configurations).",
            "in": "query",
            "name": "active",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "Only return the default or non-default configurations (e.g., pass `true` to only list the default configuration).",
            "in": "query",
            "name": "is_default",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/billing_portal.configuration"
                      },
                      "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/billing_portal/configurations",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a configuration that describes the functionality and behavior of a PortalSession</p>",
        "operationId": "PostBillingPortalConfigurations",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "business_profile": {
                  "explode": true,
                  "style": "deepObject"
                },
                "default_return_url": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "features": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "business_profile": {
                    "description": "The business information shown to customers in the portal.",
                    "properties": {
                      "headline": {
                        "maxLength": 60,
                        "type": "string"
                      },
                      "privacy_policy_url": {
                        "type": "string"
                      },
                      "terms_of_service_url": {
                        "type": "string"
                      }
                    },
                    "required": ["privacy_policy_url", "terms_of_service_url"],
                    "title": "business_profile_create_param",
                    "type": "object"
                  },
                  "default_return_url": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session."
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "features": {
                    "description": "Information about the features available in the portal.",
                    "properties": {
                      "customer_update": {
                        "properties": {
                          "allowed_updates": {
                            "anyOf": [
                              {
                                "items": {
                                  "enum": ["address", "email", "phone", "shipping", "tax_id"],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          },
                          "enabled": {
                            "type": "boolean"
                          }
                        },
                        "required": ["allowed_updates", "enabled"],
                        "title": "customer_update_creation_param",
                        "type": "object"
                      },
                      "invoice_history": {
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          }
                        },
                        "required": ["enabled"],
                        "title": "invoice_list_param",
                        "type": "object"
                      },
                      "payment_method_update": {
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          }
                        },
                        "required": ["enabled"],
                        "title": "payment_method_update_param",
                        "type": "object"
                      },
                      "subscription_cancel": {
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          },
                          "mode": {
                            "enum": ["at_period_end", "immediately"],
                            "type": "string"
                          },
                          "proration_behavior": {
                            "enum": ["always_invoice", "create_prorations", "none"],
                            "type": "string"
                          }
                        },
                        "required": ["enabled"],
                        "title": "subscription_cancel_creation_param",
                        "type": "object"
                      },
                      "subscription_pause": {
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          }
                        },
                        "title": "subscription_pause_param",
                        "type": "object"
                      },
                      "subscription_update": {
                        "properties": {
                          "default_allowed_updates": {
                            "anyOf": [
                              {
                                "items": {
                                  "enum": ["price", "promotion_code", "quantity"],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          },
                          "enabled": {
                            "type": "boolean"
                          },
                          "products": {
                            "anyOf": [
                              {
                                "items": {
                                  "properties": {
                                    "prices": {
                                      "items": {
                                        "maxLength": 5000,
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "product": {
                                      "maxLength": 5000,
                                      "type": "string"
                                    }
                                  },
                                  "required": ["prices", "product"],
                                  "title": "subscription_update_product_param",
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          },
                          "proration_behavior": {
                            "enum": ["always_invoice", "create_prorations", "none"],
                            "type": "string"
                          }
                        },
                        "required": ["default_allowed_updates", "enabled", "products"],
                        "title": "subscription_update_creation_param",
                        "type": "object"
                      }
                    },
                    "title": "features_creation_param",
                    "type": "object"
                  }
                },
                "required": ["business_profile", "features"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/billing_portal.configuration"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/billing_portal/configurations/{configuration}": {
      "get": {
        "description": "<p>Retrieves a configuration that describes the functionality of the customer portal.</p>",
        "operationId": "GetBillingPortalConfigurationsConfiguration",
        "parameters": [
          {
            "in": "path",
            "name": "configuration",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/billing_portal.configuration"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates a configuration that describes the functionality of the customer portal.</p>",
        "operationId": "PostBillingPortalConfigurationsConfiguration",
        "parameters": [
          {
            "in": "path",
            "name": "configuration",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "business_profile": {
                  "explode": true,
                  "style": "deepObject"
                },
                "default_return_url": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "features": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "active": {
                    "description": "Whether the configuration is active and can be used to create portal sessions.",
                    "type": "boolean"
                  },
                  "business_profile": {
                    "description": "The business information shown to customers in the portal.",
                    "properties": {
                      "headline": {
                        "maxLength": 60,
                        "type": "string"
                      },
                      "privacy_policy_url": {
                        "type": "string"
                      },
                      "terms_of_service_url": {
                        "type": "string"
                      }
                    },
                    "title": "business_profile_update_param",
                    "type": "object"
                  },
                  "default_return_url": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The default URL to redirect customers to when they click on the portal's link to return to your website. This can be [overriden](https://stripe.com/docs/api/customer_portal/sessions/create#create_portal_session-return_url) when creating the session."
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "features": {
                    "description": "Information about the features available in the portal.",
                    "properties": {
                      "customer_update": {
                        "properties": {
                          "allowed_updates": {
                            "anyOf": [
                              {
                                "items": {
                                  "enum": ["address", "email", "phone", "shipping", "tax_id"],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          },
                          "enabled": {
                            "type": "boolean"
                          }
                        },
                        "title": "customer_update_updating_param",
                        "type": "object"
                      },
                      "invoice_history": {
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          }
                        },
                        "required": ["enabled"],
                        "title": "invoice_list_param",
                        "type": "object"
                      },
                      "payment_method_update": {
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          }
                        },
                        "required": ["enabled"],
                        "title": "payment_method_update_param",
                        "type": "object"
                      },
                      "subscription_cancel": {
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          },
                          "mode": {
                            "enum": ["at_period_end", "immediately"],
                            "type": "string"
                          },
                          "proration_behavior": {
                            "enum": ["always_invoice", "create_prorations", "none"],
                            "type": "string"
                          }
                        },
                        "title": "subscription_cancel_updating_param",
                        "type": "object"
                      },
                      "subscription_pause": {
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          }
                        },
                        "title": "subscription_pause_param",
                        "type": "object"
                      },
                      "subscription_update": {
                        "properties": {
                          "default_allowed_updates": {
                            "anyOf": [
                              {
                                "items": {
                                  "enum": ["price", "promotion_code", "quantity"],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          },
                          "enabled": {
                            "type": "boolean"
                          },
                          "products": {
                            "anyOf": [
                              {
                                "items": {
                                  "properties": {
                                    "prices": {
                                      "items": {
                                        "maxLength": 5000,
                                        "type": "string"
                                      },
                                      "type": "array"
                                    },
                                    "product": {
                                      "maxLength": 5000,
                                      "type": "string"
                                    }
                                  },
                                  "required": ["prices", "product"],
                                  "title": "subscription_update_product_param",
                                  "type": "object"
                                },
                                "type": "array"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          },
                          "proration_behavior": {
                            "enum": ["always_invoice", "create_prorations", "none"],
                            "type": "string"
                          }
                        },
                        "title": "subscription_update_updating_param",
                        "type": "object"
                      }
                    },
                    "title": "features_updating_param",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/billing_portal.configuration"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/billing_portal/sessions": {
      "post": {
        "description": "<p>Creates a session of the customer portal.</p>",
        "operationId": "PostBillingPortalSessions",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "configuration": {
                    "description": "The [configuration](https://stripe.com/docs/api/customer_portal/configuration) to use for this session, describing its functionality and features. If not specified, the session uses the default configuration.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "customer": {
                    "description": "The ID of an existing customer.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "on_behalf_of": {
                    "description": "The `on_behalf_of` account to use for this session. When specified, only subscriptions and invoices with this `on_behalf_of` account appear in the portal. For more information, see the [docs](https://stripe.com/docs/connect/charges-transfers#on-behalf-of). Use the [Accounts API](https://stripe.com/docs/api/accounts/object#account_object-settings-branding) to modify the `on_behalf_of` account's branding settings, which the portal displays.",
                    "type": "string"
                  },
                  "return_url": {
                    "description": "The default URL to redirect customers to when they click on the portal's link to return to your website.",
                    "type": "string"
                  }
                },
                "required": ["customer"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/billing_portal.session"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/bitcoin/receivers": {
      "get": {
        "deprecated": true,
        "description": "<p>Returns a list of your receivers. Receivers are returned sorted by creation date, with the most recently created receivers appearing first.</p>",
        "operationId": "GetBitcoinReceivers",
        "parameters": [
          {
            "description": "Filter for active receivers.",
            "in": "query",
            "name": "active",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "Filter for filled receivers.",
            "in": "query",
            "name": "filled",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Filter for receivers with uncaptured funds.",
            "in": "query",
            "name": "uncaptured_funds",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/bitcoin_receiver"
                      },
                      "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/bitcoin/receivers",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/bitcoin/receivers/{id}": {
      "get": {
        "deprecated": true,
        "description": "<p>Retrieves the Bitcoin receiver with the given ID.</p>",
        "operationId": "GetBitcoinReceiversId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bitcoin_receiver"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/bitcoin/receivers/{receiver}/transactions": {
      "get": {
        "deprecated": true,
        "description": "<p>List bitcoin transacitons for a given receiver.</p>",
        "operationId": "GetBitcoinReceiversReceiverTransactions",
        "parameters": [
          {
            "description": "Only return transactions for the customer specified by this customer ID.",
            "in": "query",
            "name": "customer",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "in": "path",
            "name": "receiver",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/bitcoin_transaction"
                      },
                      "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": "BitcoinTransactionList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/bitcoin/transactions": {
      "get": {
        "deprecated": true,
        "description": "<p>List bitcoin transacitons for a given receiver.</p>",
        "operationId": "GetBitcoinTransactions",
        "parameters": [
          {
            "description": "Only return transactions for the customer specified by this customer ID.",
            "in": "query",
            "name": "customer",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "in": "query",
            "name": "receiver",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/bitcoin_transaction"
                      },
                      "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": "BitcoinTransactionList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/charges": {
      "get": {
        "description": "<p>Returns a list of charges you’ve previously created. The charges are returned in sorted order, with the most recent charges appearing first.</p>",
        "operationId": "GetCharges",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return charges for the customer specified by this customer ID.",
            "in": "query",
            "name": "customer",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Only return charges that were created by the PaymentIntent specified by this PaymentIntent ID.",
            "in": "query",
            "name": "payment_intent",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return charges for this transfer group.",
            "in": "query",
            "name": "transfer_group",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/charge"
                      },
                      "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/charges",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>To charge a credit card or other payment source, you create a <code>Charge</code> object. If your API key is in test mode, the supplied payment source (e.g., card) won’t actually be charged, although everything else will occur as if in live mode. (Stripe assumes that the charge would have completed successfully).</p>",
        "operationId": "PostCharges",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "card": {
                  "explode": true,
                  "style": "deepObject"
                },
                "destination": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "shipping": {
                  "explode": true,
                  "style": "deepObject"
                },
                "transfer_data": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).",
                    "type": "integer"
                  },
                  "application_fee": {
                    "type": "integer"
                  },
                  "application_fee_amount": {
                    "description": "A fee in %s that will be applied to the charge and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the `Stripe-Account` header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/connect/direct-charges#collecting-fees).",
                    "type": "integer"
                  },
                  "capture": {
                    "description": "Whether to immediately capture the charge. Defaults to `true`. When `false`, the charge issues an authorization (or pre-authorization), and will need to be [captured](https://stripe.com/docs/api#capture_charge) later. Uncaptured charges expire in _seven days_. For more information, see the [authorizing charges and settling later](https://stripe.com/docs/charges/placing-a-hold) documentation.",
                    "type": "boolean"
                  },
                  "card": {
                    "anyOf": [
                      {
                        "properties": {
                          "address_city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_zip": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "cvc": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "exp_month": {
                            "type": "integer"
                          },
                          "exp_year": {
                            "type": "integer"
                          },
                          "metadata": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "object": {
                            "enum": ["card"],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["exp_month", "exp_year", "number"],
                        "title": "customer_payment_source_card",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js).",
                    "x-stripeBypassValidation": true
                  },
                  "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).",
                    "type": "string"
                  },
                  "customer": {
                    "description": "The ID of an existing customer that will be charged in this request.",
                    "maxLength": 500,
                    "type": "string"
                  },
                  "description": {
                    "description": "An arbitrary string which you can attach to a `Charge` object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing.",
                    "maxLength": 40000,
                    "type": "string"
                  },
                  "destination": {
                    "anyOf": [
                      {
                        "properties": {
                          "account": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "amount": {
                            "type": "integer"
                          }
                        },
                        "required": ["account"],
                        "title": "destination_specs",
                        "type": "object"
                      },
                      {
                        "type": "string"
                      }
                    ]
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "on_behalf_of": {
                    "description": "The Stripe account ID for which these funds are intended. Automatically set if you use the `destination` parameter. For details, see [Creating Separate Charges and Transfers](https://stripe.com/docs/connect/charges-transfers#on-behalf-of).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "receipt_email": {
                    "description": "The email address to which this charge's [receipt](https://stripe.com/docs/dashboard/receipts) will be sent. The receipt will not be sent until the charge is paid, and no receipts will be sent for test mode charges. If this charge is for a [Customer](https://stripe.com/docs/api/customers/object), the email address specified here will override the customer's email address. If `receipt_email` is specified for a charge in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails).",
                    "type": "string"
                  },
                  "shipping": {
                    "description": "Shipping information for the charge. Helps prevent fraud on charges for physical goods.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["line1"],
                        "title": "address",
                        "type": "object"
                      },
                      "carrier": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "phone": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "tracking_number": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "required": ["address", "name"],
                    "title": "shipping",
                    "type": "object"
                  },
                  "source": {
                    "description": "A payment source to be charged. This can be the ID of a [card](https://stripe.com/docs/api#cards) (i.e., credit or debit card), a [bank account](https://stripe.com/docs/api#bank_accounts), a [source](https://stripe.com/docs/api#sources), a [token](https://stripe.com/docs/api#tokens), or a [connected account](https://stripe.com/docs/connect/account-debits#charging-a-connected-account). For certain sources---namely, [cards](https://stripe.com/docs/api#cards), [bank accounts](https://stripe.com/docs/api#bank_accounts), and attached [sources](https://stripe.com/docs/api#sources)---you must also pass the ID of the associated customer.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "statement_descriptor": {
                    "description": "For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters.",
                    "maxLength": 22,
                    "type": "string"
                  },
                  "statement_descriptor_suffix": {
                    "description": "Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.",
                    "maxLength": 22,
                    "type": "string"
                  },
                  "transfer_data": {
                    "description": "An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details.",
                    "properties": {
                      "amount": {
                        "type": "integer"
                      },
                      "destination": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "required": ["destination"],
                    "title": "transfer_data_specs",
                    "type": "object"
                  },
                  "transfer_group": {
                    "description": "A string that identifies this transaction as part of a group. For details, see [Grouping transactions](https://stripe.com/docs/connect/charges-transfers#transfer-options).",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/charge"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/charges/{charge}": {
      "get": {
        "description": "<p>Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge.</p>",
        "operationId": "GetChargesCharge",
        "parameters": [
          {
            "in": "path",
            "name": "charge",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/charge"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>",
        "operationId": "PostChargesCharge",
        "parameters": [
          {
            "in": "path",
            "name": "charge",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "fraud_details": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "shipping": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "customer": {
                    "description": "The ID of an existing customer that will be associated with this request. This field may only be updated if there is no existing associated customer with this charge.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "description": {
                    "description": "An arbitrary string which you can attach to a charge object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing.",
                    "maxLength": 40000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "fraud_details": {
                    "description": "A set of key-value pairs you can attach to a charge giving information about its riskiness. If you believe a charge is fraudulent, include a `user_report` key with a value of `fraudulent`. If you believe a charge is safe, include a `user_report` key with a value of `safe`. Stripe will use the information you send to improve our fraud detection algorithms.",
                    "properties": {
                      "user_report": {
                        "enum": ["", "fraudulent", "safe"],
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "required": ["user_report"],
                    "title": "fraud_details",
                    "type": "object"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "receipt_email": {
                    "description": "This is the email address that the receipt for this charge will be sent to. If this field is updated, then a new email receipt will be sent to the updated address.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "shipping": {
                    "description": "Shipping information for the charge. Helps prevent fraud on charges for physical goods.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["line1"],
                        "title": "address",
                        "type": "object"
                      },
                      "carrier": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "phone": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "tracking_number": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "required": ["address", "name"],
                    "title": "shipping",
                    "type": "object"
                  },
                  "transfer_group": {
                    "description": "A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/charges-transfers#transfer-options) for details.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/charge"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/charges/{charge}/capture": {
      "post": {
        "description": "<p>Capture the payment of an existing, uncaptured, charge. This is the second half of the two-step payment flow, where first you <a href=\"#create_charge\">created a charge</a> with the capture option set to false.</p>\n\n<p>Uncaptured payments expire exactly seven days after they are created. If they are not captured by that point in time, they will be marked as refunded and will no longer be capturable.</p>",
        "operationId": "PostChargesChargeCapture",
        "parameters": [
          {
            "in": "path",
            "name": "charge",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "transfer_data": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "The amount to capture, which must be less than or equal to the original amount. Any additional amount will be automatically refunded.",
                    "type": "integer"
                  },
                  "application_fee": {
                    "description": "An application fee to add on to this charge.",
                    "type": "integer"
                  },
                  "application_fee_amount": {
                    "description": "An application fee amount to add on to this charge, which must be less than or equal to the original amount.",
                    "type": "integer"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "receipt_email": {
                    "description": "The email address to send this charge's receipt to. This will override the previously-specified email address for this charge, if one was set. Receipts will not be sent in test mode.",
                    "type": "string"
                  },
                  "statement_descriptor": {
                    "description": "For card charges, use `statement_descriptor_suffix` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters.",
                    "maxLength": 22,
                    "type": "string"
                  },
                  "statement_descriptor_suffix": {
                    "description": "Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.",
                    "maxLength": 22,
                    "type": "string"
                  },
                  "transfer_data": {
                    "description": "An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details.",
                    "properties": {
                      "amount": {
                        "type": "integer"
                      }
                    },
                    "title": "transfer_data_specs",
                    "type": "object"
                  },
                  "transfer_group": {
                    "description": "A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/charges-transfers#transfer-options) for details.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/charge"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/charges/{charge}/dispute": {
      "get": {
        "description": "<p>Retrieve a dispute for a specified charge.</p>",
        "operationId": "GetChargesChargeDispute",
        "parameters": [
          {
            "in": "path",
            "name": "charge",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/dispute"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "",
        "operationId": "PostChargesChargeDispute",
        "parameters": [
          {
            "in": "path",
            "name": "charge",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "evidence": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "evidence": {
                    "description": "Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000.",
                    "properties": {
                      "access_activity_log": {
                        "maxLength": 20000,
                        "type": "string"
                      },
                      "billing_address": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "cancellation_policy": {
                        "type": "string"
                      },
                      "cancellation_policy_disclosure": {
                        "maxLength": 20000,
                        "type": "string"
                      },
                      "cancellation_rebuttal": {
                        "maxLength": 20000,
                        "type": "string"
                      },
                      "customer_communication": {
                        "type": "string"
                      },
                      "customer_email_address": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "customer_name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "customer_purchase_ip": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "customer_signature": {
                        "type": "string"
                      },
                      "duplicate_charge_documentation": {
                        "type": "string"
                      },
                      "duplicate_charge_explanation": {
                        "maxLength": 20000,
                        "type": "string"
                      },
                      "duplicate_charge_id": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "product_description": {
                        "maxLength": 20000,
                        "type": "string"
                      },
                      "receipt": {
                        "type": "string"
                      },
                      "refund_policy": {
                        "type": "string"
                      },
                      "refund_policy_disclosure": {
                        "maxLength": 20000,
                        "type": "string"
                      },
                      "refund_refusal_explanation": {
                        "maxLength": 20000,
                        "type": "string"
                      },
                      "service_date": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "service_documentation": {
                        "type": "string"
                      },
                      "shipping_address": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "shipping_carrier": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "shipping_date": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "shipping_documentation": {
                        "type": "string"
                      },
                      "shipping_tracking_number": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "uncategorized_file": {
                        "type": "string"
                      },
                      "uncategorized_text": {
                        "maxLength": 20000,
                        "type": "string"
                      }
                    },
                    "title": "dispute_evidence_params",
                    "type": "object"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "submit": {
                    "description": "Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default).",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/dispute"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/charges/{charge}/dispute/close": {
      "post": {
        "description": "",
        "operationId": "PostChargesChargeDisputeClose",
        "parameters": [
          {
            "in": "path",
            "name": "charge",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/dispute"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/charges/{charge}/refund": {
      "post": {
        "description": "<p>When you create a new refund, you must specify a Charge or a PaymentIntent object on which to create it.</p>\n\n<p>Creating a new refund will refund a charge that has previously been created but not yet refunded.\nFunds will be refunded to the credit or debit card that was originally charged.</p>\n\n<p>You can optionally refund only part of a charge.\nYou can do so multiple times, until the entire charge has been refunded.</p>\n\n<p>Once entirely refunded, a charge can’t be refunded again.\nThis method will raise an error when called on an already-refunded charge,\nor when trying to refund more money than is left on a charge.</p>",
        "operationId": "PostChargesChargeRefund",
        "parameters": [
          {
            "in": "path",
            "name": "charge",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "type": "integer"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "payment_intent": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "reason": {
                    "enum": ["duplicate", "fraudulent", "requested_by_customer"],
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "refund_application_fee": {
                    "type": "boolean"
                  },
                  "reverse_transfer": {
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/charge"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/charges/{charge}/refunds": {
      "get": {
        "description": "<p>You can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object. If you need more than those 10, you can use this API method and the <code>limit</code> and <code>starting_after</code> parameters to page through additional refunds.</p>",
        "operationId": "GetChargesChargeRefunds",
        "parameters": [
          {
            "in": "path",
            "name": "charge",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/refund"
                      },
                      "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": "RefundList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Create a refund.</p>",
        "operationId": "PostChargesChargeRefunds",
        "parameters": [
          {
            "in": "path",
            "name": "charge",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "type": "integer"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "payment_intent": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "reason": {
                    "enum": ["duplicate", "fraudulent", "requested_by_customer"],
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "refund_application_fee": {
                    "type": "boolean"
                  },
                  "reverse_transfer": {
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/refund"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/charges/{charge}/refunds/{refund}": {
      "get": {
        "description": "<p>Retrieves the details of an existing refund.</p>",
        "operationId": "GetChargesChargeRefundsRefund",
        "parameters": [
          {
            "in": "path",
            "name": "charge",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "refund",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/refund"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Update a specified refund.</p>",
        "operationId": "PostChargesChargeRefundsRefund",
        "parameters": [
          {
            "in": "path",
            "name": "charge",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "refund",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/refund"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/checkout/sessions": {
      "get": {
        "description": "<p>Returns a list of Checkout Sessions.</p>",
        "operationId": "GetCheckoutSessions",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Only return the Checkout Session for the PaymentIntent specified.",
            "in": "query",
            "name": "payment_intent",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return the Checkout Session for the subscription specified.",
            "in": "query",
            "name": "subscription",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/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"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a Session object.</p>",
        "operationId": "PostCheckoutSessions",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "discounts": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "line_items": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_intent_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_types": {
                  "explode": true,
                  "style": "deepObject"
                },
                "setup_intent_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "shipping_address_collection": {
                  "explode": true,
                  "style": "deepObject"
                },
                "shipping_rates": {
                  "explode": true,
                  "style": "deepObject"
                },
                "subscription_data": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "allow_promotion_codes": {
                    "description": "Enables user redeemable promotion codes.",
                    "type": "boolean"
                  },
                  "billing_address_collection": {
                    "description": "Specify whether Checkout should collect the customer's billing address.",
                    "enum": ["auto", "required"],
                    "type": "string"
                  },
                  "cancel_url": {
                    "description": "The URL the customer will be directed to if they decide to cancel payment and return to your website.",
                    "maxLength": 5000,
                    "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": 200,
                    "type": "string"
                  },
                  "customer": {
                    "description": "ID of an existing customer, if one exists. The email stored on the\ncustomer will be used to prefill the email field on the Checkout page.\nIf the customer changes their email on the Checkout page, the Customer\nobject will be updated with the new email.\nIf blank for Checkout Sessions in `payment` or `subscription` mode,\nCheckout will create a new customer object based on information\nprovided during the payment flow.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "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 a session is\ncomplete, use the `customer` field.",
                    "type": "string"
                  },
                  "discounts": {
                    "description": "The coupon or promotion code to apply to this Session. Currently, only up to one may be specified.",
                    "items": {
                      "properties": {
                        "coupon": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "promotion_code": {
                          "maxLength": 5000,
                          "type": "string"
                        }
                      },
                      "title": "discount_params",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "line_items": {
                    "description": "A list of items the customer is purchasing. Use this parameter to pass one-time or recurring [Prices](https://stripe.com/docs/api/prices).\n\nFor `payment` mode, there is a maximum of 100 line items, however it is recommended to consolidate line items if there are more than a few dozen.\n\nFor `subscription` mode, there is a maximum of 20 line items with recurring Prices and 20 line items with one-time Prices. Line items with one-time Prices in will be on the initial invoice only.",
                    "items": {
                      "properties": {
                        "adjustable_quantity": {
                          "properties": {
                            "enabled": {
                              "type": "boolean"
                            },
                            "maximum": {
                              "type": "integer"
                            },
                            "minimum": {
                              "type": "integer"
                            }
                          },
                          "required": ["enabled"],
                          "title": "adjustable_quantity_params",
                          "type": "object"
                        },
                        "amount": {
                          "type": "integer"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "description": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "dynamic_tax_rates": {
                          "items": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "images": {
                          "items": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "name": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "price": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "price_data": {
                          "properties": {
                            "currency": {
                              "type": "string"
                            },
                            "product": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "product_data": {
                              "properties": {
                                "description": {
                                  "maxLength": 40000,
                                  "type": "string"
                                },
                                "images": {
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                },
                                "metadata": {
                                  "additionalProperties": {
                                    "type": "string"
                                  },
                                  "type": "object"
                                },
                                "name": {
                                  "maxLength": 5000,
                                  "type": "string"
                                }
                              },
                              "required": ["name"],
                              "title": "product_data",
                              "type": "object"
                            },
                            "recurring": {
                              "properties": {
                                "interval": {
                                  "enum": ["day", "month", "week", "year"],
                                  "type": "string"
                                },
                                "interval_count": {
                                  "type": "integer"
                                }
                              },
                              "required": ["interval"],
                              "title": "recurring_adhoc",
                              "type": "object"
                            },
                            "unit_amount": {
                              "type": "integer"
                            },
                            "unit_amount_decimal": {
                              "format": "decimal",
                              "type": "string"
                            }
                          },
                          "required": ["currency"],
                          "title": "price_data_with_product_data",
                          "type": "object"
                        },
                        "quantity": {
                          "type": "integer"
                        },
                        "tax_rates": {
                          "items": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "title": "line_item_params",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "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",
                      "fr",
                      "fr-CA",
                      "hu",
                      "id",
                      "it",
                      "ja",
                      "lt",
                      "lv",
                      "ms",
                      "mt",
                      "nb",
                      "nl",
                      "pl",
                      "pt",
                      "pt-BR",
                      "ro",
                      "ru",
                      "sk",
                      "sl",
                      "sv",
                      "th",
                      "tr",
                      "zh",
                      "zh-HK",
                      "zh-TW"
                    ],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "mode": {
                    "description": "The mode of the Checkout Session. Required when using prices or `setup` mode. Pass `subscription` if the Checkout Session includes at least one recurring item.",
                    "enum": ["payment", "setup", "subscription"],
                    "type": "string"
                  },
                  "payment_intent_data": {
                    "description": "A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.",
                    "properties": {
                      "application_fee_amount": {
                        "type": "integer"
                      },
                      "capture_method": {
                        "enum": ["automatic", "manual"],
                        "type": "string"
                      },
                      "description": {
                        "maxLength": 1000,
                        "type": "string"
                      },
                      "metadata": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      "on_behalf_of": {
                        "type": "string"
                      },
                      "receipt_email": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "setup_future_usage": {
                        "enum": ["off_session", "on_session"],
                        "type": "string"
                      },
                      "shipping": {
                        "properties": {
                          "address": {
                            "properties": {
                              "city": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "required": ["line1"],
                            "title": "address",
                            "type": "object"
                          },
                          "carrier": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "phone": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "tracking_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["address", "name"],
                        "title": "shipping",
                        "type": "object"
                      },
                      "statement_descriptor": {
                        "maxLength": 22,
                        "type": "string"
                      },
                      "statement_descriptor_suffix": {
                        "maxLength": 22,
                        "type": "string"
                      },
                      "transfer_data": {
                        "properties": {
                          "amount": {
                            "type": "integer"
                          },
                          "destination": {
                            "type": "string"
                          }
                        },
                        "required": ["destination"],
                        "title": "transfer_data_params",
                        "type": "object"
                      },
                      "transfer_group": {
                        "type": "string"
                      }
                    },
                    "title": "payment_intent_data_params",
                    "type": "object"
                  },
                  "payment_method_types": {
                    "description": "A list of the types of payment methods (e.g., `card`) this Checkout Session can accept.\n\nRead more about the supported payment methods and their requirements in our [payment\nmethod details guide](/docs/payments/checkout/payment-methods).\n\nIf multiple payment methods are passed, Checkout will dynamically reorder them to\nprioritize the most relevant payment methods based on the customer's location and\nother characteristics.",
                    "items": {
                      "enum": [
                        "afterpay_clearpay",
                        "alipay",
                        "bacs_debit",
                        "bancontact",
                        "card",
                        "eps",
                        "fpx",
                        "giropay",
                        "grabpay",
                        "ideal",
                        "p24",
                        "sepa_debit",
                        "sofort"
                      ],
                      "type": "string",
                      "x-stripeBypassValidation": true
                    },
                    "type": "array"
                  },
                  "setup_intent_data": {
                    "description": "A subset of parameters to be passed to SetupIntent creation for Checkout Sessions in `setup` mode.",
                    "properties": {
                      "description": {
                        "maxLength": 1000,
                        "type": "string"
                      },
                      "metadata": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      "on_behalf_of": {
                        "type": "string"
                      }
                    },
                    "title": "setup_intent_data_param",
                    "type": "object"
                  },
                  "shipping_address_collection": {
                    "description": "When set, provides configuration for Checkout to collect a shipping address from a customer.",
                    "properties": {
                      "allowed_countries": {
                        "items": {
                          "enum": [
                            "AC",
                            "AD",
                            "AE",
                            "AF",
                            "AG",
                            "AI",
                            "AL",
                            "AM",
                            "AO",
                            "AQ",
                            "AR",
                            "AT",
                            "AU",
                            "AW",
                            "AX",
                            "AZ",
                            "BA",
                            "BB",
                            "BD",
                            "BE",
                            "BF",
                            "BG",
                            "BH",
                            "BI",
                            "BJ",
                            "BL",
                            "BM",
                            "BN",
                            "BO",
                            "BQ",
                            "BR",
                            "BS",
                            "BT",
                            "BV",
                            "BW",
                            "BY",
                            "BZ",
                            "CA",
                            "CD",
                            "CF",
                            "CG",
                            "CH",
                            "CI",
                            "CK",
                            "CL",
                            "CM",
                            "CN",
                            "CO",
                            "CR",
                            "CV",
                            "CW",
                            "CY",
                            "CZ",
                            "DE",
                            "DJ",
                            "DK",
                            "DM",
                            "DO",
                            "DZ",
                            "EC",
                            "EE",
                            "EG",
                            "EH",
                            "ER",
                            "ES",
                            "ET",
                            "FI",
                            "FJ",
                            "FK",
                            "FO",
                            "FR",
                            "GA",
                            "GB",
                            "GD",
                            "GE",
                            "GF",
                            "GG",
                            "GH",
                            "GI",
                            "GL",
                            "GM",
                            "GN",
                            "GP",
                            "GQ",
                            "GR",
                            "GS",
                            "GT",
                            "GU",
                            "GW",
                            "GY",
                            "HK",
                            "HN",
                            "HR",
                            "HT",
                            "HU",
                            "ID",
                            "IE",
                            "IL",
                            "IM",
                            "IN",
                            "IO",
                            "IQ",
                            "IS",
                            "IT",
                            "JE",
                            "JM",
                            "JO",
                            "JP",
                            "KE",
                            "KG",
                            "KH",
                            "KI",
                            "KM",
                            "KN",
                            "KR",
                            "KW",
                            "KY",
                            "KZ",
                            "LA",
                            "LB",
                            "LC",
                            "LI",
                            "LK",
                            "LR",
                            "LS",
                            "LT",
                            "LU",
                            "LV",
                            "LY",
                            "MA",
                            "MC",
                            "MD",
                            "ME",
                            "MF",
                            "MG",
                            "MK",
                            "ML",
                            "MM",
                            "MN",
                            "MO",
                            "MQ",
                            "MR",
                            "MS",
                            "MT",
                            "MU",
                            "MV",
                            "MW",
                            "MX",
                            "MY",
                            "MZ",
                            "NA",
                            "NC",
                            "NE",
                            "NG",
                            "NI",
                            "NL",
                            "NO",
                            "NP",
                            "NR",
                            "NU",
                            "NZ",
                            "OM",
                            "PA",
                            "PE",
                            "PF",
                            "PG",
                            "PH",
                            "PK",
                            "PL",
                            "PM",
                            "PN",
                            "PR",
                            "PS",
                            "PT",
                            "PY",
                            "QA",
                            "RE",
                            "RO",
                            "RS",
                            "RU",
                            "RW",
                            "SA",
                            "SB",
                            "SC",
                            "SE",
                            "SG",
                            "SH",
                            "SI",
                            "SJ",
                            "SK",
                            "SL",
                            "SM",
                            "SN",
                            "SO",
                            "SR",
                            "SS",
                            "ST",
                            "SV",
                            "SX",
                            "SZ",
                            "TA",
                            "TC",
                            "TD",
                            "TF",
                            "TG",
                            "TH",
                            "TJ",
                            "TK",
                            "TL",
                            "TM",
                            "TN",
                            "TO",
                            "TR",
                            "TT",
                            "TV",
                            "TW",
                            "TZ",
                            "UA",
                            "UG",
                            "US",
                            "UY",
                            "UZ",
                            "VA",
                            "VC",
                            "VE",
                            "VG",
                            "VN",
                            "VU",
                            "WF",
                            "WS",
                            "XK",
                            "YE",
                            "YT",
                            "ZA",
                            "ZM",
                            "ZW",
                            "ZZ"
                          ],
                          "type": "string"
                        },
                        "type": "array"
                      }
                    },
                    "required": ["allowed_countries"],
                    "title": "shipping_address_collection_params",
                    "type": "object"
                  },
                  "shipping_rates": {
                    "description": "The shipping rate to apply to this Session. Currently, only up to one may be specified",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "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, but not Checkout Sessions\nin `subscription` or `setup` mode.",
                    "enum": ["auto", "book", "donate", "pay"],
                    "type": "string"
                  },
                  "subscription_data": {
                    "description": "A subset of parameters to be passed to subscription creation for Checkout Sessions in `subscription` mode.",
                    "properties": {
                      "application_fee_percent": {
                        "type": "number"
                      },
                      "default_tax_rates": {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "items": {
                        "items": {
                          "properties": {
                            "plan": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "quantity": {
                              "type": "integer"
                            },
                            "tax_rates": {
                              "items": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            }
                          },
                          "required": ["plan"],
                          "title": "subscription_data_item_param",
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "metadata": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      "transfer_data": {
                        "properties": {
                          "amount_percent": {
                            "type": "number"
                          },
                          "destination": {
                            "type": "string"
                          }
                        },
                        "required": ["destination"],
                        "title": "transfer_data_specs",
                        "type": "object"
                      },
                      "trial_end": {
                        "format": "unix-time",
                        "type": "integer"
                      },
                      "trial_period_days": {
                        "type": "integer"
                      }
                    },
                    "title": "subscription_data_params",
                    "type": "object"
                  },
                  "success_url": {
                    "description": "The URL to which Stripe should send customers when payment or setup\nis complete.\nIf you’d like access to the Checkout Session for the successful\npayment, read more about it in the guide on [fulfilling orders](https://stripe.com/docs/payments/checkout/fulfill-orders).",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "required": ["cancel_url", "payment_method_types", "success_url"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/checkout.session"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/checkout/sessions/{session}": {
      "get": {
        "description": "<p>Retrieves a Session object.</p>",
        "operationId": "GetCheckoutSessionsSession",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "session",
            "required": true,
            "schema": {
              "maxLength": 66,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/checkout.session"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/checkout/sessions/{session}/line_items": {
      "get": {
        "description": "<p>When retrieving a Checkout Session, there is an includable <strong>line_items</strong> property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.</p>",
        "operationId": "GetCheckoutSessionsSessionLineItems",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "in": "path",
            "name": "session",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/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"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/country_specs": {
      "get": {
        "description": "<p>Lists all Country Spec objects available in the API.</p>",
        "operationId": "GetCountrySpecs",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/country_spec"
                      },
                      "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/country_specs",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/country_specs/{country}": {
      "get": {
        "description": "<p>Returns a Country Spec for a given Country code.</p>",
        "operationId": "GetCountrySpecsCountry",
        "parameters": [
          {
            "in": "path",
            "name": "country",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/country_spec"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/coupons": {
      "get": {
        "description": "<p>Returns a list of your coupons.</p>",
        "operationId": "GetCoupons",
        "parameters": [
          {
            "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/coupon"
                      },
                      "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/coupons",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>You can create coupons easily via the <a href=\"https://dashboard.stripe.com/coupons\">coupon management</a> page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly.</p>\n\n<p>A coupon has either a <code>percent_off</code> or an <code>amount_off</code> and <code>currency</code>. If you set an <code>amount_off</code>, that amount will be subtracted from any invoice’s subtotal. For example, an invoice with a subtotal of <currency>100</currency> will have a final total of <currency>0</currency> if a coupon with an <code>amount_off</code> of <amount>200</amount> is applied to it and an invoice with a subtotal of <currency>300</currency> will have a final total of <currency>100</currency> if a coupon with an <code>amount_off</code> of <amount>200</amount> is applied to it.</p>",
        "operationId": "PostCoupons",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "applies_to": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount_off": {
                    "description": "A positive integer representing the amount to subtract from an invoice total (required if `percent_off` is not passed).",
                    "type": "integer"
                  },
                  "applies_to": {
                    "description": "A hash containing directions for what this Coupon will apply discounts to.",
                    "properties": {
                      "products": {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      }
                    },
                    "required": ["products"],
                    "title": "applies_to_params",
                    "type": "object"
                  },
                  "currency": {
                    "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) of the `amount_off` parameter (required if `amount_off` is passed).",
                    "type": "string"
                  },
                  "duration": {
                    "description": "Specifies how long the discount will be in effect. Can be `forever`, `once`, or `repeating`.",
                    "enum": ["forever", "once", "repeating"],
                    "type": "string"
                  },
                  "duration_in_months": {
                    "description": "Required only if `duration` is `repeating`, in which case it must be a positive integer that specifies the number of months the discount will be in effect.",
                    "type": "integer"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "id": {
                    "description": "Unique string of your choice that will be used to identify this coupon when applying it to a customer. If you don't want to specify a particular code, you can leave the ID blank and we'll generate a random code for you.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "max_redemptions": {
                    "description": "A positive integer specifying the number of times the coupon can be redeemed before it's no longer valid. For example, you might have a 50% off coupon that the first 20 readers of your blog can use.",
                    "type": "integer"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "name": {
                    "description": "Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set.",
                    "maxLength": 40,
                    "type": "string"
                  },
                  "percent_off": {
                    "description": "A positive float larger than 0, and smaller or equal to 100, that represents the discount the coupon will apply (required if `amount_off` is not passed).",
                    "type": "number"
                  },
                  "redeem_by": {
                    "description": "Unix timestamp specifying the last time at which the coupon can be redeemed. After the redeem_by date, the coupon can no longer be applied to new customers.",
                    "format": "unix-time",
                    "type": "integer"
                  }
                },
                "required": ["duration"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/coupon"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/coupons/{coupon}": {
      "delete": {
        "description": "<p>You can delete coupons via the <a href=\"https://dashboard.stripe.com/coupons\">coupon management</a> page of the Stripe dashboard. However, deleting a coupon does not affect any customers who have already applied the coupon; it means that new customers can’t redeem the coupon. You can also delete coupons via the API.</p>",
        "operationId": "DeleteCouponsCoupon",
        "parameters": [
          {
            "in": "path",
            "name": "coupon",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_coupon"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves the coupon with the given ID.</p>",
        "operationId": "GetCouponsCoupon",
        "parameters": [
          {
            "in": "path",
            "name": "coupon",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/coupon"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the metadata of a coupon. Other coupon details (currency, duration, amount_off) are, by design, not editable.</p>",
        "operationId": "PostCouponsCoupon",
        "parameters": [
          {
            "in": "path",
            "name": "coupon",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "name": {
                    "description": "Name of the coupon displayed to customers on, for instance invoices, or receipts. By default the `id` is shown if `name` is not set.",
                    "maxLength": 40,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/coupon"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/credit_notes": {
      "get": {
        "description": "<p>Returns a list of credit notes.</p>",
        "operationId": "GetCreditNotes",
        "parameters": [
          {
            "description": "Only return credit notes for the customer specified by this customer ID.",
            "in": "query",
            "name": "customer",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "Only return credit notes for the invoice specified by this invoice ID.",
            "in": "query",
            "name": "invoice",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/credit_note"
                      },
                      "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": "CreditNotesList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Issue a credit note to adjust the amount of a finalized invoice. For a <code>status=open</code> invoice, a credit note reduces\nits <code>amount_due</code>. For a <code>status=paid</code> invoice, a credit note does not affect its <code>amount_due</code>. Instead, it can result\nin any combination of the following:</p>\n\n<ul>\n<li>Refund: create a new refund (using <code>refund_amount</code>) or link an existing refund (using <code>refund</code>).</li>\n<li>Customer balance credit: credit the customer’s balance (using <code>credit_amount</code>) which will be automatically applied to their next invoice when it’s finalized.</li>\n<li>Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using <code>out_of_band_amount</code>).</li>\n</ul>\n\n<p>For post-payment credit notes the sum of the refund, credit and outside of Stripe amounts must equal the credit note total.</p>\n\n<p>You may issue multiple credit notes for an invoice. Each credit note will increment the invoice’s <code>pre_payment_credit_notes_amount</code>\nor <code>post_payment_credit_notes_amount</code> depending on its <code>status</code> at the time of credit note creation.</p>",
        "operationId": "PostCreditNotes",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "lines": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "The integer amount in %s representing the total amount of the credit note.",
                    "type": "integer"
                  },
                  "credit_amount": {
                    "description": "The integer amount in %s representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.",
                    "type": "integer"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "invoice": {
                    "description": "ID of the invoice.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "lines": {
                    "description": "Line items that make up the credit note.",
                    "items": {
                      "properties": {
                        "amount": {
                          "type": "integer"
                        },
                        "description": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "invoice_line_item": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "quantity": {
                          "type": "integer"
                        },
                        "tax_rates": {
                          "anyOf": [
                            {
                              "items": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        },
                        "type": {
                          "enum": ["custom_line_item", "invoice_line_item"],
                          "type": "string"
                        },
                        "unit_amount": {
                          "type": "integer"
                        },
                        "unit_amount_decimal": {
                          "format": "decimal",
                          "type": "string"
                        }
                      },
                      "required": ["type"],
                      "title": "credit_note_line_item_params",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "memo": {
                    "description": "The credit note's memo appears on the credit note PDF.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "out_of_band_amount": {
                    "description": "The integer amount in %s representing the amount that is credited outside of Stripe.",
                    "type": "integer"
                  },
                  "reason": {
                    "description": "Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`",
                    "enum": ["duplicate", "fraudulent", "order_change", "product_unsatisfactory"],
                    "type": "string"
                  },
                  "refund": {
                    "description": "ID of an existing refund to link this credit note to.",
                    "type": "string"
                  },
                  "refund_amount": {
                    "description": "The integer amount in %s representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.",
                    "type": "integer"
                  }
                },
                "required": ["invoice"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/credit_note"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/credit_notes/preview": {
      "get": {
        "description": "<p>Get a preview of a credit note without creating it.</p>",
        "operationId": "GetCreditNotesPreview",
        "parameters": [
          {
            "description": "The integer amount in %s representing the total amount of the credit note.",
            "in": "query",
            "name": "amount",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "The integer amount in %s representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.",
            "in": "query",
            "name": "credit_amount",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "ID of the invoice.",
            "in": "query",
            "name": "invoice",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Line items that make up the credit note.",
            "explode": true,
            "in": "query",
            "name": "lines",
            "required": false,
            "schema": {
              "items": {
                "properties": {
                  "amount": {
                    "type": "integer"
                  },
                  "description": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "invoice_line_item": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "quantity": {
                    "type": "integer"
                  },
                  "tax_rates": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  },
                  "type": {
                    "enum": ["custom_line_item", "invoice_line_item"],
                    "type": "string"
                  },
                  "unit_amount": {
                    "type": "integer"
                  },
                  "unit_amount_decimal": {
                    "format": "decimal",
                    "type": "string"
                  }
                },
                "required": ["type"],
                "title": "credit_note_line_item_params",
                "type": "object"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "The credit note's memo appears on the credit note PDF.",
            "in": "query",
            "name": "memo",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
            "explode": true,
            "in": "query",
            "name": "metadata",
            "required": false,
            "schema": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "The integer amount in %s representing the amount that is credited outside of Stripe.",
            "in": "query",
            "name": "out_of_band_amount",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`",
            "in": "query",
            "name": "reason",
            "required": false,
            "schema": {
              "enum": ["duplicate", "fraudulent", "order_change", "product_unsatisfactory"],
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "ID of an existing refund to link this credit note to.",
            "in": "query",
            "name": "refund",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "The integer amount in %s representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.",
            "in": "query",
            "name": "refund_amount",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/credit_note"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/credit_notes/preview/lines": {
      "get": {
        "description": "<p>When retrieving a credit note preview, you’ll get a <strong>lines</strong> property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items.</p>",
        "operationId": "GetCreditNotesPreviewLines",
        "parameters": [
          {
            "description": "The integer amount in %s representing the total amount of the credit note.",
            "in": "query",
            "name": "amount",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "The integer amount in %s representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.",
            "in": "query",
            "name": "credit_amount",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "ID of the invoice.",
            "in": "query",
            "name": "invoice",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Line items that make up the credit note.",
            "explode": true,
            "in": "query",
            "name": "lines",
            "required": false,
            "schema": {
              "items": {
                "properties": {
                  "amount": {
                    "type": "integer"
                  },
                  "description": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "invoice_line_item": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "quantity": {
                    "type": "integer"
                  },
                  "tax_rates": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  },
                  "type": {
                    "enum": ["custom_line_item", "invoice_line_item"],
                    "type": "string"
                  },
                  "unit_amount": {
                    "type": "integer"
                  },
                  "unit_amount_decimal": {
                    "format": "decimal",
                    "type": "string"
                  }
                },
                "required": ["type"],
                "title": "credit_note_line_item_params",
                "type": "object"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "The credit note's memo appears on the credit note PDF.",
            "in": "query",
            "name": "memo",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
            "explode": true,
            "in": "query",
            "name": "metadata",
            "required": false,
            "schema": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "The integer amount in %s representing the amount that is credited outside of Stripe.",
            "in": "query",
            "name": "out_of_band_amount",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`",
            "in": "query",
            "name": "reason",
            "required": false,
            "schema": {
              "enum": ["duplicate", "fraudulent", "order_change", "product_unsatisfactory"],
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "ID of an existing refund to link this credit note to.",
            "in": "query",
            "name": "refund",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "The integer amount in %s representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.",
            "in": "query",
            "name": "refund_amount",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/credit_note_line_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": "CreditNoteLinesList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/credit_notes/{credit_note}/lines": {
      "get": {
        "description": "<p>When retrieving a credit note, you’ll get a <strong>lines</strong> property containing the the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.</p>",
        "operationId": "GetCreditNotesCreditNoteLines",
        "parameters": [
          {
            "in": "path",
            "name": "credit_note",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/credit_note_line_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": "CreditNoteLinesList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/credit_notes/{id}": {
      "get": {
        "description": "<p>Retrieves the credit note object with the given identifier.</p>",
        "operationId": "GetCreditNotesId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/credit_note"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates an existing credit note.</p>",
        "operationId": "PostCreditNotesId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "memo": {
                    "description": "Credit note memo.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/credit_note"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/credit_notes/{id}/void": {
      "post": {
        "description": "<p>Marks a credit note as void. Learn more about <a href=\"/docs/billing/invoices/credit-notes#voiding\">voiding credit notes</a>.</p>",
        "operationId": "PostCreditNotesIdVoid",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/credit_note"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers": {
      "get": {
        "description": "<p>Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.</p>",
        "operationId": "GetCustomers",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "A case-sensitive filter on the list based on the customer's `email` field. The value must be a string.",
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "maxLength": 512,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/customer"
                      },
                      "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/customers",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new customer object.</p>",
        "operationId": "PostCustomers",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "address": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "invoice_settings": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "preferred_locales": {
                  "explode": true,
                  "style": "deepObject"
                },
                "shipping": {
                  "explode": true,
                  "style": "deepObject"
                },
                "tax_id_data": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "address": {
                    "anyOf": [
                      {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "optional_fields_address",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The customer's address."
                  },
                  "balance": {
                    "description": "An integer amount in %s that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice.",
                    "type": "integer"
                  },
                  "coupon": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "description": {
                    "description": "An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "email": {
                    "description": "Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*.",
                    "maxLength": 512,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "invoice_prefix": {
                    "description": "The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "invoice_settings": {
                    "description": "Default invoice settings for this customer.",
                    "properties": {
                      "custom_fields": {
                        "anyOf": [
                          {
                            "items": {
                              "properties": {
                                "name": {
                                  "maxLength": 30,
                                  "type": "string"
                                },
                                "value": {
                                  "maxLength": 30,
                                  "type": "string"
                                }
                              },
                              "required": ["name", "value"],
                              "title": "custom_field_params",
                              "type": "object"
                            },
                            "type": "array"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "default_payment_method": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "footer": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "customer_param",
                    "type": "object"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "name": {
                    "description": "The customer's full name or business name.",
                    "maxLength": 256,
                    "type": "string"
                  },
                  "next_invoice_sequence": {
                    "description": "The sequence to be used on the customer's next invoice. Defaults to 1.",
                    "type": "integer"
                  },
                  "payment_method": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "phone": {
                    "description": "The customer's phone number.",
                    "maxLength": 20,
                    "type": "string"
                  },
                  "preferred_locales": {
                    "description": "Customer's preferred languages, ordered by preference.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "promotion_code": {
                    "description": "The API ID of a promotion code to apply to the customer. The customer will have a discount applied on all recurring payments. Charges you create through the API will not have the discount.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "shipping": {
                    "anyOf": [
                      {
                        "properties": {
                          "address": {
                            "properties": {
                              "city": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "required": ["line1"],
                            "title": "address",
                            "type": "object"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "phone": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["address", "name"],
                        "title": "customer_shipping",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The customer's shipping information. Appears on invoices emailed to this customer."
                  },
                  "source": {
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "tax_exempt": {
                    "description": "The customer's tax exemption. One of `none`, `exempt`, or `reverse`.",
                    "enum": ["", "exempt", "none", "reverse"],
                    "type": "string"
                  },
                  "tax_id_data": {
                    "description": "The customer's tax IDs.",
                    "items": {
                      "properties": {
                        "type": {
                          "enum": [
                            "ae_trn",
                            "au_abn",
                            "br_cnpj",
                            "br_cpf",
                            "ca_bn",
                            "ca_qst",
                            "ch_vat",
                            "cl_tin",
                            "es_cif",
                            "eu_vat",
                            "gb_vat",
                            "hk_br",
                            "id_npwp",
                            "in_gst",
                            "jp_cn",
                            "jp_rn",
                            "kr_brn",
                            "li_uid",
                            "mx_rfc",
                            "my_frp",
                            "my_itn",
                            "my_sst",
                            "no_vat",
                            "nz_gst",
                            "ru_inn",
                            "ru_kpp",
                            "sa_vat",
                            "sg_gst",
                            "sg_uen",
                            "th_vat",
                            "tw_vat",
                            "us_ein",
                            "za_vat"
                          ],
                          "maxLength": 5000,
                          "type": "string",
                          "x-stripeBypassValidation": true
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "required": ["type", "value"],
                      "title": "data_params",
                      "type": "object"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}": {
      "delete": {
        "description": "<p>Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.</p>",
        "operationId": "DeleteCustomersCustomer",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_customer"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves the details of an existing customer. You need only supply the unique customer identifier that was returned upon customer creation.</p>",
        "operationId": "GetCustomersCustomer",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/customer"
                    },
                    {
                      "$ref": "#/components/schemas/deleted_customer"
                    }
                  ]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the <strong>source</strong> parameter, that becomes the customer’s active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the <strong>source</strong> parameter: for each of the customer’s current subscriptions, if the subscription bills automatically and is in the <code>past_due</code> state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the <strong>default_source</strong> for a customer will not trigger this behavior.</p>\n\n<p>This request accepts mostly the same arguments as the customer creation call.</p>",
        "operationId": "PostCustomersCustomer",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "address": {
                  "explode": true,
                  "style": "deepObject"
                },
                "bank_account": {
                  "explode": true,
                  "style": "deepObject"
                },
                "card": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "invoice_settings": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "preferred_locales": {
                  "explode": true,
                  "style": "deepObject"
                },
                "shipping": {
                  "explode": true,
                  "style": "deepObject"
                },
                "trial_end": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "address": {
                    "anyOf": [
                      {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "optional_fields_address",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The customer's address."
                  },
                  "balance": {
                    "description": "An integer amount in %s that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice.",
                    "type": "integer"
                  },
                  "bank_account": {
                    "anyOf": [
                      {
                        "properties": {
                          "account_holder_name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_holder_type": {
                            "enum": ["company", "individual"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "object": {
                            "enum": ["bank_account"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "routing_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["account_number", "country"],
                        "title": "customer_payment_source_bank_account",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details."
                  },
                  "card": {
                    "anyOf": [
                      {
                        "properties": {
                          "address_city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_zip": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "cvc": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "exp_month": {
                            "type": "integer"
                          },
                          "exp_year": {
                            "type": "integer"
                          },
                          "metadata": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "object": {
                            "enum": ["card"],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["exp_month", "exp_year", "number"],
                        "title": "customer_payment_source_card",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js).",
                    "x-stripeBypassValidation": true
                  },
                  "coupon": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_alipay_account": {
                    "description": "ID of Alipay account to make the customer's new default for invoice payments.",
                    "maxLength": 500,
                    "type": "string"
                  },
                  "default_bank_account": {
                    "description": "ID of bank account to make the customer's new default for invoice payments.",
                    "maxLength": 500,
                    "type": "string"
                  },
                  "default_card": {
                    "description": "ID of card to make the customer's new default for invoice payments.",
                    "maxLength": 500,
                    "type": "string"
                  },
                  "default_source": {
                    "description": "If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method) parameter.\n\nProvide the ID of a payment source already attached to this customer to make it this customer's default payment source.\n\nIf you want to add a new payment source and make it the default, see the [source](https://stripe.com/docs/api/customers/update#update_customer-source) property.",
                    "maxLength": 500,
                    "type": "string"
                  },
                  "description": {
                    "description": "An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "email": {
                    "description": "Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*.",
                    "maxLength": 512,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "invoice_prefix": {
                    "description": "The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "invoice_settings": {
                    "description": "Default invoice settings for this customer.",
                    "properties": {
                      "custom_fields": {
                        "anyOf": [
                          {
                            "items": {
                              "properties": {
                                "name": {
                                  "maxLength": 30,
                                  "type": "string"
                                },
                                "value": {
                                  "maxLength": 30,
                                  "type": "string"
                                }
                              },
                              "required": ["name", "value"],
                              "title": "custom_field_params",
                              "type": "object"
                            },
                            "type": "array"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "default_payment_method": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "footer": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "customer_param",
                    "type": "object"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "name": {
                    "description": "The customer's full name or business name.",
                    "maxLength": 256,
                    "type": "string"
                  },
                  "next_invoice_sequence": {
                    "description": "The sequence to be used on the customer's next invoice. Defaults to 1.",
                    "type": "integer"
                  },
                  "phone": {
                    "description": "The customer's phone number.",
                    "maxLength": 20,
                    "type": "string"
                  },
                  "preferred_locales": {
                    "description": "Customer's preferred languages, ordered by preference.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "promotion_code": {
                    "description": "The API ID of a promotion code to apply to the customer. The customer will have a discount applied on all recurring payments. Charges you create through the API will not have the discount.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "shipping": {
                    "anyOf": [
                      {
                        "properties": {
                          "address": {
                            "properties": {
                              "city": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "required": ["line1"],
                            "title": "address",
                            "type": "object"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "phone": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["address", "name"],
                        "title": "customer_shipping",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The customer's shipping information. Appears on invoices emailed to this customer."
                  },
                  "source": {
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "tax_exempt": {
                    "description": "The customer's tax exemption. One of `none`, `exempt`, or `reverse`.",
                    "enum": ["", "exempt", "none", "reverse"],
                    "type": "string"
                  },
                  "trial_end": {
                    "anyOf": [
                      {
                        "enum": ["now"],
                        "maxLength": 5000,
                        "type": "string"
                      },
                      {
                        "format": "unix-time",
                        "type": "integer"
                      }
                    ],
                    "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/balance_transactions": {
      "get": {
        "description": "<p>Returns a list of transactions that updated the customer’s <a href=\"/docs/billing/customer/balance\">balances</a>.</p>",
        "operationId": "GetCustomersCustomerBalanceTransactions",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/customer_balance_transaction"
                      },
                      "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": "CustomerBalanceTransactionList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates an immutable transaction that updates the customer’s credit <a href=\"/docs/billing/customer/balance\">balance</a>.</p>",
        "operationId": "PostCustomersCustomerBalanceTransactions",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "The integer amount in **%s** to apply to the customer's credit balance.",
                    "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). If the customer's [`currency`](https://stripe.com/docs/api/customers/object#customer_object-currency) is set, this value must match it. If the customer's `currency` is not set, it will be updated to this value.",
                    "type": "string"
                  },
                  "description": {
                    "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
                    "maxLength": 350,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "required": ["amount", "currency"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer_balance_transaction"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/balance_transactions/{transaction}": {
      "get": {
        "description": "<p>Retrieves a specific customer balance transaction that updated the customer’s <a href=\"/docs/billing/customer/balance\">balances</a>.</p>",
        "operationId": "GetCustomersCustomerBalanceTransactionsTransaction",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "transaction",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer_balance_transaction"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Most credit balance transaction fields are immutable, but you may update its <code>description</code> and <code>metadata</code>.</p>",
        "operationId": "PostCustomersCustomerBalanceTransactionsTransaction",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "transaction",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "description": {
                    "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
                    "maxLength": 350,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer_balance_transaction"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/bank_accounts": {
      "get": {
        "deprecated": true,
        "description": "<p>You can see a list of the bank accounts belonging to a Customer. Note that the 10 most recent sources are always available by default on the Customer. If you need more than those 10, you can use this API method and the <code>limit</code> and <code>starting_after</code> parameters to page through additional bank accounts.</p>",
        "operationId": "GetCustomersCustomerBankAccounts",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/bank_account"
                      },
                      "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": "BankAccountList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>When you create a new credit card, you must specify a customer or recipient on which to create it.</p>\n\n<p>If the card’s owner has no default card, then the new card will become the default.\nHowever, if the owner already has a default, then it will not change.\nTo change the default, you should <a href=\"/docs/api#update_customer\">update the customer</a> to have a new <code>default_source</code>.</p>",
        "operationId": "PostCustomersCustomerBankAccounts",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "bank_account": {
                  "explode": true,
                  "style": "deepObject"
                },
                "card": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "alipay_account": {
                    "description": "A token returned by [Stripe.js](https://stripe.com/docs/stripe.js) representing the user’s Alipay account details.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "bank_account": {
                    "anyOf": [
                      {
                        "properties": {
                          "account_holder_name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_holder_type": {
                            "enum": ["company", "individual"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "object": {
                            "enum": ["bank_account"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "routing_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["account_number", "country"],
                        "title": "customer_payment_source_bank_account",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details."
                  },
                  "card": {
                    "anyOf": [
                      {
                        "properties": {
                          "address_city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_zip": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "cvc": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "exp_month": {
                            "type": "integer"
                          },
                          "exp_year": {
                            "type": "integer"
                          },
                          "metadata": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "object": {
                            "enum": ["card"],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["exp_month", "exp_year", "number"],
                        "title": "customer_payment_source_card",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js).",
                    "x-stripeBypassValidation": true
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "source": {
                    "description": "Please refer to full [documentation](https://stripe.com/docs/api) instead.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_source"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/bank_accounts/{id}": {
      "delete": {
        "description": "<p>Delete a specified source for a given customer.</p>",
        "operationId": "DeleteCustomersCustomerBankAccountsId",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/payment_source"
                    },
                    {
                      "$ref": "#/components/schemas/deleted_payment_source"
                    }
                  ]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "deprecated": true,
        "description": "<p>By default, you can see the 10 most recent sources stored on a Customer directly on the object, but you can also retrieve details about a specific bank account stored on the Stripe account.</p>",
        "operationId": "GetCustomersCustomerBankAccountsId",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bank_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Update a specified source for a given customer.</p>",
        "operationId": "PostCustomersCustomerBankAccountsId",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "owner": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account_holder_name": {
                    "description": "The name of the person or business that owns the bank account.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "account_holder_type": {
                    "description": "The type of entity that holds the account. This can be either `individual` or `company`.",
                    "enum": ["company", "individual"],
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_city": {
                    "description": "City/District/Suburb/Town/Village.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_country": {
                    "description": "Billing address country, if provided when creating card.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_line1": {
                    "description": "Address line 1 (Street address/PO Box/Company name).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_line2": {
                    "description": "Address line 2 (Apartment/Suite/Unit/Building).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_state": {
                    "description": "State/County/Province/Region.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_zip": {
                    "description": "ZIP or postal code.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "exp_month": {
                    "description": "Two digit number representing the card’s expiration month.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "exp_year": {
                    "description": "Four digit number representing the card’s expiration year.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "name": {
                    "description": "Cardholder name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "owner": {
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "source_address",
                        "type": "object"
                      },
                      "email": {
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "phone": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "owner",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/card"
                    },
                    {
                      "$ref": "#/components/schemas/bank_account"
                    },
                    {
                      "$ref": "#/components/schemas/source"
                    }
                  ]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/bank_accounts/{id}/verify": {
      "post": {
        "description": "<p>Verify a specified bank account for a given customer.</p>",
        "operationId": "PostCustomersCustomerBankAccountsIdVerify",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "amounts": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amounts": {
                    "description": "Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account.",
                    "items": {
                      "type": "integer"
                    },
                    "type": "array"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bank_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/cards": {
      "get": {
        "deprecated": true,
        "description": "<p>You can see a list of the cards belonging to a customer.\nNote that the 10 most recent sources are always available on the <code>Customer</code> object.\nIf you need more than those 10, you can use this API method and the <code>limit</code> and <code>starting_after</code> parameters to page through additional cards.</p>",
        "operationId": "GetCustomersCustomerCards",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/card"
                      },
                      "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": "CardList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>When you create a new credit card, you must specify a customer or recipient on which to create it.</p>\n\n<p>If the card’s owner has no default card, then the new card will become the default.\nHowever, if the owner already has a default, then it will not change.\nTo change the default, you should <a href=\"/docs/api#update_customer\">update the customer</a> to have a new <code>default_source</code>.</p>",
        "operationId": "PostCustomersCustomerCards",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "bank_account": {
                  "explode": true,
                  "style": "deepObject"
                },
                "card": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "alipay_account": {
                    "description": "A token returned by [Stripe.js](https://stripe.com/docs/stripe.js) representing the user’s Alipay account details.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "bank_account": {
                    "anyOf": [
                      {
                        "properties": {
                          "account_holder_name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_holder_type": {
                            "enum": ["company", "individual"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "object": {
                            "enum": ["bank_account"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "routing_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["account_number", "country"],
                        "title": "customer_payment_source_bank_account",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details."
                  },
                  "card": {
                    "anyOf": [
                      {
                        "properties": {
                          "address_city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_zip": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "cvc": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "exp_month": {
                            "type": "integer"
                          },
                          "exp_year": {
                            "type": "integer"
                          },
                          "metadata": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "object": {
                            "enum": ["card"],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["exp_month", "exp_year", "number"],
                        "title": "customer_payment_source_card",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js).",
                    "x-stripeBypassValidation": true
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "source": {
                    "description": "Please refer to full [documentation](https://stripe.com/docs/api) instead.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_source"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/cards/{id}": {
      "delete": {
        "description": "<p>Delete a specified source for a given customer.</p>",
        "operationId": "DeleteCustomersCustomerCardsId",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/payment_source"
                    },
                    {
                      "$ref": "#/components/schemas/deleted_payment_source"
                    }
                  ]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "deprecated": true,
        "description": "<p>You can always see the 10 most recent cards directly on a customer; this method lets you retrieve details about a specific card stored on the customer.</p>",
        "operationId": "GetCustomersCustomerCardsId",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/card"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Update a specified source for a given customer.</p>",
        "operationId": "PostCustomersCustomerCardsId",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "owner": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account_holder_name": {
                    "description": "The name of the person or business that owns the bank account.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "account_holder_type": {
                    "description": "The type of entity that holds the account. This can be either `individual` or `company`.",
                    "enum": ["company", "individual"],
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_city": {
                    "description": "City/District/Suburb/Town/Village.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_country": {
                    "description": "Billing address country, if provided when creating card.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_line1": {
                    "description": "Address line 1 (Street address/PO Box/Company name).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_line2": {
                    "description": "Address line 2 (Apartment/Suite/Unit/Building).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_state": {
                    "description": "State/County/Province/Region.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_zip": {
                    "description": "ZIP or postal code.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "exp_month": {
                    "description": "Two digit number representing the card’s expiration month.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "exp_year": {
                    "description": "Four digit number representing the card’s expiration year.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "name": {
                    "description": "Cardholder name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "owner": {
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "source_address",
                        "type": "object"
                      },
                      "email": {
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "phone": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "owner",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/card"
                    },
                    {
                      "$ref": "#/components/schemas/bank_account"
                    },
                    {
                      "$ref": "#/components/schemas/source"
                    }
                  ]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/discount": {
      "delete": {
        "description": "<p>Removes the currently applied discount on a customer.</p>",
        "operationId": "DeleteCustomersCustomerDiscount",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_discount"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "",
        "operationId": "GetCustomersCustomerDiscount",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discount"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/sources": {
      "get": {
        "description": "<p>List sources for a specified customer.</p>",
        "operationId": "GetCustomersCustomerSources",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Filter sources according to a particular object type.",
            "in": "query",
            "name": "object",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "anyOf": [
                          {
                            "$ref": "#/components/schemas/alipay_account"
                          },
                          {
                            "$ref": "#/components/schemas/bank_account"
                          },
                          {
                            "$ref": "#/components/schemas/bitcoin_receiver"
                          },
                          {
                            "$ref": "#/components/schemas/card"
                          },
                          {
                            "$ref": "#/components/schemas/source"
                          }
                        ],
                        "title": "Polymorphic"
                      },
                      "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": "ApmsSourcesSourceList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>When you create a new credit card, you must specify a customer or recipient on which to create it.</p>\n\n<p>If the card’s owner has no default card, then the new card will become the default.\nHowever, if the owner already has a default, then it will not change.\nTo change the default, you should <a href=\"/docs/api#update_customer\">update the customer</a> to have a new <code>default_source</code>.</p>",
        "operationId": "PostCustomersCustomerSources",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "bank_account": {
                  "explode": true,
                  "style": "deepObject"
                },
                "card": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "alipay_account": {
                    "description": "A token returned by [Stripe.js](https://stripe.com/docs/stripe.js) representing the user’s Alipay account details.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "bank_account": {
                    "anyOf": [
                      {
                        "properties": {
                          "account_holder_name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_holder_type": {
                            "enum": ["company", "individual"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "currency": {
                            "type": "string"
                          },
                          "object": {
                            "enum": ["bank_account"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "routing_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["account_number", "country"],
                        "title": "customer_payment_source_bank_account",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "Either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js), or a dictionary containing a user's bank account details."
                  },
                  "card": {
                    "anyOf": [
                      {
                        "properties": {
                          "address_city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_zip": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "cvc": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "exp_month": {
                            "type": "integer"
                          },
                          "exp_year": {
                            "type": "integer"
                          },
                          "metadata": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "object": {
                            "enum": ["card"],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["exp_month", "exp_year", "number"],
                        "title": "customer_payment_source_card",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "A token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe.js).",
                    "x-stripeBypassValidation": true
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "source": {
                    "description": "Please refer to full [documentation](https://stripe.com/docs/api) instead.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_source"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/sources/{id}": {
      "delete": {
        "description": "<p>Delete a specified source for a given customer.</p>",
        "operationId": "DeleteCustomersCustomerSourcesId",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/payment_source"
                    },
                    {
                      "$ref": "#/components/schemas/deleted_payment_source"
                    }
                  ]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieve a specified source for a given customer.</p>",
        "operationId": "GetCustomersCustomerSourcesId",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 500,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_source"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Update a specified source for a given customer.</p>",
        "operationId": "PostCustomersCustomerSourcesId",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "owner": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account_holder_name": {
                    "description": "The name of the person or business that owns the bank account.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "account_holder_type": {
                    "description": "The type of entity that holds the account. This can be either `individual` or `company`.",
                    "enum": ["company", "individual"],
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_city": {
                    "description": "City/District/Suburb/Town/Village.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_country": {
                    "description": "Billing address country, if provided when creating card.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_line1": {
                    "description": "Address line 1 (Street address/PO Box/Company name).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_line2": {
                    "description": "Address line 2 (Apartment/Suite/Unit/Building).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_state": {
                    "description": "State/County/Province/Region.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "address_zip": {
                    "description": "ZIP or postal code.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "exp_month": {
                    "description": "Two digit number representing the card’s expiration month.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "exp_year": {
                    "description": "Four digit number representing the card’s expiration year.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "name": {
                    "description": "Cardholder name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "owner": {
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "source_address",
                        "type": "object"
                      },
                      "email": {
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "phone": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "owner",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/card"
                    },
                    {
                      "$ref": "#/components/schemas/bank_account"
                    },
                    {
                      "$ref": "#/components/schemas/source"
                    }
                  ]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/sources/{id}/verify": {
      "post": {
        "description": "<p>Verify a specified bank account for a given customer.</p>",
        "operationId": "PostCustomersCustomerSourcesIdVerify",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "amounts": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amounts": {
                    "description": "Two positive integers, in *cents*, equal to the values of the microdeposits sent to the bank account.",
                    "items": {
                      "type": "integer"
                    },
                    "type": "array"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/bank_account"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/subscriptions": {
      "get": {
        "description": "<p>You can see a list of the customer’s active subscriptions. Note that the 10 most recent active subscriptions are always available by default on the customer object. If you need more than those 10, you can use the limit and starting_after parameters to page through additional subscriptions.</p>",
        "operationId": "GetCustomersCustomerSubscriptions",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/subscription"
                      },
                      "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": "SubscriptionList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new subscription on an existing customer.</p>",
        "operationId": "PostCustomersCustomerSubscriptions",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "add_invoice_items": {
                  "explode": true,
                  "style": "deepObject"
                },
                "billing_thresholds": {
                  "explode": true,
                  "style": "deepObject"
                },
                "default_tax_rates": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "items": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "pending_invoice_item_interval": {
                  "explode": true,
                  "style": "deepObject"
                },
                "transfer_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "trial_end": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "add_invoice_items": {
                    "description": "A list of prices and quantities that will generate invoice items appended to the first invoice for this subscription. You may pass up to 20 items.",
                    "items": {
                      "properties": {
                        "price": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "price_data": {
                          "properties": {
                            "currency": {
                              "type": "string"
                            },
                            "product": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "unit_amount": {
                              "type": "integer"
                            },
                            "unit_amount_decimal": {
                              "format": "decimal",
                              "type": "string"
                            }
                          },
                          "required": ["currency", "product"],
                          "title": "one_time_price_data",
                          "type": "object"
                        },
                        "quantity": {
                          "type": "integer"
                        },
                        "tax_rates": {
                          "anyOf": [
                            {
                              "items": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "title": "add_invoice_item_entry",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "application_fee_percent": {
                    "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).",
                    "type": "number"
                  },
                  "backdate_start_date": {
                    "description": "For new subscriptions, a past timestamp to backdate the subscription's start date to. If set, the first invoice will contain a proration for the timespan between the start date and the current time. Can be combined with trials and the billing cycle anchor.",
                    "format": "unix-time",
                    "type": "integer"
                  },
                  "billing_cycle_anchor": {
                    "description": "A future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices.",
                    "format": "unix-time",
                    "type": "integer",
                    "x-stripeBypassValidation": true
                  },
                  "billing_thresholds": {
                    "anyOf": [
                      {
                        "properties": {
                          "amount_gte": {
                            "type": "integer"
                          },
                          "reset_billing_cycle_anchor": {
                            "type": "boolean"
                          }
                        },
                        "title": "billing_thresholds_param",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds."
                  },
                  "cancel_at": {
                    "description": "A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period.",
                    "format": "unix-time",
                    "type": "integer"
                  },
                  "cancel_at_period_end": {
                    "description": "Boolean indicating whether this subscription should cancel at the end of the current period.",
                    "type": "boolean"
                  },
                  "collection_method": {
                    "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to `charge_automatically`.",
                    "enum": ["charge_automatically", "send_invoice"],
                    "type": "string"
                  },
                  "coupon": {
                    "description": "The code of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "days_until_due": {
                    "description": "Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`.",
                    "type": "integer"
                  },
                  "default_payment_method": {
                    "description": "ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_source": {
                    "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_tax_rates": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription."
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "items": {
                    "description": "A list of up to 20 subscription items, each with an attached price.",
                    "items": {
                      "properties": {
                        "billing_thresholds": {
                          "anyOf": [
                            {
                              "properties": {
                                "usage_gte": {
                                  "type": "integer"
                                }
                              },
                              "required": ["usage_gte"],
                              "title": "item_billing_thresholds_param",
                              "type": "object"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        },
                        "metadata": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "type": "object"
                        },
                        "price": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "price_data": {
                          "properties": {
                            "currency": {
                              "type": "string"
                            },
                            "product": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "recurring": {
                              "properties": {
                                "interval": {
                                  "enum": ["day", "month", "week", "year"],
                                  "type": "string"
                                },
                                "interval_count": {
                                  "type": "integer"
                                }
                              },
                              "required": ["interval"],
                              "title": "recurring_adhoc",
                              "type": "object"
                            },
                            "unit_amount": {
                              "type": "integer"
                            },
                            "unit_amount_decimal": {
                              "format": "decimal",
                              "type": "string"
                            }
                          },
                          "required": ["currency", "product", "recurring"],
                          "title": "recurring_price_data",
                          "type": "object"
                        },
                        "quantity": {
                          "type": "integer"
                        },
                        "tax_rates": {
                          "anyOf": [
                            {
                              "items": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "title": "subscription_item_create_params",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "off_session": {
                    "description": "Indicates if a customer is on or off-session while an invoice payment is attempted.",
                    "type": "boolean"
                  },
                  "payment_behavior": {
                    "description": "Use `allow_incomplete` to create subscriptions with `status=incomplete` if the first invoice cannot be paid. Creating subscriptions with this status allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.\n\nUse `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's first invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not create a subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.\n\n`pending_if_incomplete` is only used with updates and cannot be passed when creating a subscription.",
                    "enum": ["allow_incomplete", "error_if_incomplete", "pending_if_incomplete"],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "pending_invoice_item_interval": {
                    "anyOf": [
                      {
                        "properties": {
                          "interval": {
                            "enum": ["day", "month", "week", "year"],
                            "type": "string"
                          },
                          "interval_count": {
                            "type": "integer"
                          }
                        },
                        "required": ["interval"],
                        "title": "pending_invoice_item_interval_params",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval."
                  },
                  "promotion_code": {
                    "description": "The API ID of a promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "proration_behavior": {
                    "description": "Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) resulting from the `billing_cycle_anchor`. Valid values are `create_prorations` or `none`.\n\nPassing `create_prorations` will cause proration invoice items to be created when applicable. Prorations can be disabled by passing `none`. If no value is passed, the default is `create_prorations`.",
                    "enum": ["always_invoice", "create_prorations", "none"],
                    "type": "string"
                  },
                  "transfer_data": {
                    "description": "If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges.",
                    "properties": {
                      "amount_percent": {
                        "type": "number"
                      },
                      "destination": {
                        "type": "string"
                      }
                    },
                    "required": ["destination"],
                    "title": "transfer_data_specs",
                    "type": "object"
                  },
                  "trial_end": {
                    "anyOf": [
                      {
                        "enum": ["now"],
                        "maxLength": 5000,
                        "type": "string"
                      },
                      {
                        "format": "unix-time",
                        "type": "integer"
                      }
                    ],
                    "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`."
                  },
                  "trial_from_plan": {
                    "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed.",
                    "type": "boolean"
                  },
                  "trial_period_days": {
                    "description": "Integer representing the number of trial period days before the customer is charged for the first time. This will always overwrite any trials that might apply via a subscribed plan.",
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}": {
      "delete": {
        "description": "<p>Cancels a customer’s subscription. If you set the <code>at_period_end</code> parameter to <code>true</code>, the subscription will remain active until the end of the period, at which point it will be canceled and not renewed. Otherwise, with the default <code>false</code> value, the subscription is terminated immediately. In either case, the customer will not be charged again for the subscription.</p>\n\n<p>Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually <a href=\"#delete_invoiceitem\">deleted</a>. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.</p>\n\n<p>By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.</p>",
        "operationId": "DeleteCustomersCustomerSubscriptionsSubscriptionExposedId",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "subscription_exposed_id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "invoice_now": {
                    "description": "Can be set to `true` if `at_period_end` is not set to `true`. Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending proration invoice items.",
                    "type": "boolean"
                  },
                  "prorate": {
                    "description": "Can be set to `true` if `at_period_end` is not set to `true`. Will generate a proration invoice item that credits remaining unused time until the subscription period end.",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves the subscription with the given ID.</p>",
        "operationId": "GetCustomersCustomerSubscriptionsSubscriptionExposedId",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "subscription_exposed_id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the <a href=\"#upcoming_invoice\">upcoming invoice</a> endpoint.</p>",
        "operationId": "PostCustomersCustomerSubscriptionsSubscriptionExposedId",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "subscription_exposed_id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "add_invoice_items": {
                  "explode": true,
                  "style": "deepObject"
                },
                "billing_thresholds": {
                  "explode": true,
                  "style": "deepObject"
                },
                "cancel_at": {
                  "explode": true,
                  "style": "deepObject"
                },
                "default_tax_rates": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "items": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "pause_collection": {
                  "explode": true,
                  "style": "deepObject"
                },
                "pending_invoice_item_interval": {
                  "explode": true,
                  "style": "deepObject"
                },
                "transfer_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "trial_end": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "add_invoice_items": {
                    "description": "A list of prices and quantities that will generate invoice items appended to the first invoice for this subscription. You may pass up to 20 items.",
                    "items": {
                      "properties": {
                        "price": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "price_data": {
                          "properties": {
                            "currency": {
                              "type": "string"
                            },
                            "product": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "unit_amount": {
                              "type": "integer"
                            },
                            "unit_amount_decimal": {
                              "format": "decimal",
                              "type": "string"
                            }
                          },
                          "required": ["currency", "product"],
                          "title": "one_time_price_data",
                          "type": "object"
                        },
                        "quantity": {
                          "type": "integer"
                        },
                        "tax_rates": {
                          "anyOf": [
                            {
                              "items": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "title": "add_invoice_item_entry",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "application_fee_percent": {
                    "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).",
                    "type": "number"
                  },
                  "billing_cycle_anchor": {
                    "description": "Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).",
                    "enum": ["now", "unchanged"],
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "billing_thresholds": {
                    "anyOf": [
                      {
                        "properties": {
                          "amount_gte": {
                            "type": "integer"
                          },
                          "reset_billing_cycle_anchor": {
                            "type": "boolean"
                          }
                        },
                        "title": "billing_thresholds_param",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds."
                  },
                  "cancel_at": {
                    "anyOf": [
                      {
                        "format": "unix-time",
                        "type": "integer"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period."
                  },
                  "cancel_at_period_end": {
                    "description": "Boolean indicating whether this subscription should cancel at the end of the current period.",
                    "type": "boolean"
                  },
                  "collection_method": {
                    "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to `charge_automatically`.",
                    "enum": ["charge_automatically", "send_invoice"],
                    "type": "string"
                  },
                  "coupon": {
                    "description": "The code of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "days_until_due": {
                    "description": "Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`.",
                    "type": "integer"
                  },
                  "default_payment_method": {
                    "description": "ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_source": {
                    "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_tax_rates": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. Pass an empty string to remove previously-defined tax rates."
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "items": {
                    "description": "A list of up to 20 subscription items, each with an attached price.",
                    "items": {
                      "properties": {
                        "billing_thresholds": {
                          "anyOf": [
                            {
                              "properties": {
                                "usage_gte": {
                                  "type": "integer"
                                }
                              },
                              "required": ["usage_gte"],
                              "title": "item_billing_thresholds_param",
                              "type": "object"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        },
                        "clear_usage": {
                          "type": "boolean"
                        },
                        "deleted": {
                          "type": "boolean"
                        },
                        "id": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "metadata": {
                          "anyOf": [
                            {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "type": "object"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        },
                        "price": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "price_data": {
                          "properties": {
                            "currency": {
                              "type": "string"
                            },
                            "product": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "recurring": {
                              "properties": {
                                "interval": {
                                  "enum": ["day", "month", "week", "year"],
                                  "type": "string"
                                },
                                "interval_count": {
                                  "type": "integer"
                                }
                              },
                              "required": ["interval"],
                              "title": "recurring_adhoc",
                              "type": "object"
                            },
                            "unit_amount": {
                              "type": "integer"
                            },
                            "unit_amount_decimal": {
                              "format": "decimal",
                              "type": "string"
                            }
                          },
                          "required": ["currency", "product", "recurring"],
                          "title": "recurring_price_data",
                          "type": "object"
                        },
                        "quantity": {
                          "type": "integer"
                        },
                        "tax_rates": {
                          "anyOf": [
                            {
                              "items": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "title": "subscription_item_update_params",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "off_session": {
                    "description": "Indicates if a customer is on or off-session while an invoice payment is attempted.",
                    "type": "boolean"
                  },
                  "pause_collection": {
                    "anyOf": [
                      {
                        "properties": {
                          "behavior": {
                            "enum": ["keep_as_draft", "mark_uncollectible", "void"],
                            "type": "string"
                          },
                          "resumes_at": {
                            "format": "unix-time",
                            "type": "integer"
                          }
                        },
                        "required": ["behavior"],
                        "title": "pause_collection_param",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "If specified, payment collection for this subscription will be paused."
                  },
                  "payment_behavior": {
                    "description": "Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.\n\nUse `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).\n\nUse `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.",
                    "enum": ["allow_incomplete", "error_if_incomplete", "pending_if_incomplete"],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "pending_invoice_item_interval": {
                    "anyOf": [
                      {
                        "properties": {
                          "interval": {
                            "enum": ["day", "month", "week", "year"],
                            "type": "string"
                          },
                          "interval_count": {
                            "type": "integer"
                          }
                        },
                        "required": ["interval"],
                        "title": "pending_invoice_item_interval_params",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval."
                  },
                  "promotion_code": {
                    "description": "The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "proration_behavior": {
                    "description": "Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. Valid values are `create_prorations`, `none`, or `always_invoice`.\n\nPassing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.\n\nProrations can be disabled by passing `none`.",
                    "enum": ["always_invoice", "create_prorations", "none"],
                    "type": "string"
                  },
                  "proration_date": {
                    "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations.",
                    "format": "unix-time",
                    "type": "integer"
                  },
                  "transfer_data": {
                    "anyOf": [
                      {
                        "properties": {
                          "amount_percent": {
                            "type": "number"
                          },
                          "destination": {
                            "type": "string"
                          }
                        },
                        "required": ["destination"],
                        "title": "transfer_data_specs",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value."
                  },
                  "trial_end": {
                    "anyOf": [
                      {
                        "enum": ["now"],
                        "maxLength": 5000,
                        "type": "string"
                      },
                      {
                        "format": "unix-time",
                        "type": "integer"
                      }
                    ],
                    "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`."
                  },
                  "trial_from_plan": {
                    "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed.",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/subscriptions/{subscription_exposed_id}/discount": {
      "delete": {
        "description": "<p>Removes the currently applied discount on a customer.</p>",
        "operationId": "DeleteCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "subscription_exposed_id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_discount"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "",
        "operationId": "GetCustomersCustomerSubscriptionsSubscriptionExposedIdDiscount",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "subscription_exposed_id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/discount"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/tax_ids": {
      "get": {
        "description": "<p>Returns a list of tax IDs for a customer.</p>",
        "operationId": "GetCustomersCustomerTaxIds",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/tax_id"
                      },
                      "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": "TaxIDsList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new <code>TaxID</code> object for a customer.</p>",
        "operationId": "PostCustomersCustomerTaxIds",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "type": {
                    "description": "Type of the tax ID, one of `ae_trn`, `au_abn`, `br_cnpj`, `br_cpf`, `ca_bn`, `ca_qst`, `ch_vat`, `cl_tin`, `es_cif`, `eu_vat`, `gb_vat`, `hk_br`, `id_npwp`, `in_gst`, `jp_cn`, `jp_rn`, `kr_brn`, `li_uid`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `no_vat`, `nz_gst`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `th_vat`, `tw_vat`, `us_ein`, or `za_vat`",
                    "enum": [
                      "ae_trn",
                      "au_abn",
                      "br_cnpj",
                      "br_cpf",
                      "ca_bn",
                      "ca_qst",
                      "ch_vat",
                      "cl_tin",
                      "es_cif",
                      "eu_vat",
                      "gb_vat",
                      "hk_br",
                      "id_npwp",
                      "in_gst",
                      "jp_cn",
                      "jp_rn",
                      "kr_brn",
                      "li_uid",
                      "mx_rfc",
                      "my_frp",
                      "my_itn",
                      "my_sst",
                      "no_vat",
                      "nz_gst",
                      "ru_inn",
                      "ru_kpp",
                      "sa_vat",
                      "sg_gst",
                      "sg_uen",
                      "th_vat",
                      "tw_vat",
                      "us_ein",
                      "za_vat"
                    ],
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "value": {
                    "description": "Value of the tax ID.",
                    "type": "string"
                  }
                },
                "required": ["type", "value"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tax_id"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/customers/{customer}/tax_ids/{id}": {
      "delete": {
        "description": "<p>Deletes an existing <code>TaxID</code> object.</p>",
        "operationId": "DeleteCustomersCustomerTaxIdsId",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_tax_id"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves the <code>TaxID</code> object with the given identifier.</p>",
        "operationId": "GetCustomersCustomerTaxIdsId",
        "parameters": [
          {
            "in": "path",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tax_id"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/disputes": {
      "get": {
        "description": "<p>Returns a list of your disputes.</p>",
        "operationId": "GetDisputes",
        "parameters": [
          {
            "description": "Only return disputes associated to the charge specified by this charge ID.",
            "in": "query",
            "name": "charge",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Only return disputes associated to the PaymentIntent specified by this PaymentIntent ID.",
            "in": "query",
            "name": "payment_intent",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/dispute"
                      },
                      "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/disputes",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/disputes/{dispute}": {
      "get": {
        "description": "<p>Retrieves the dispute with the given ID.</p>",
        "operationId": "GetDisputesDispute",
        "parameters": [
          {
            "in": "path",
            "name": "dispute",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/dispute"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>When you get a dispute, contacting your customer is always the best first step. If that doesn’t work, you can submit evidence to help us resolve the dispute in your favor. You can do this in your <a href=\"https://dashboard.stripe.com/disputes\">dashboard</a>, but if you prefer, you can use the API to submit evidence programmatically.</p>\n\n<p>Depending on your dispute type, different evidence fields will give you a better chance of winning your dispute. To figure out which evidence fields to provide, see our <a href=\"/docs/disputes/categories\">guide to dispute types</a>.</p>",
        "operationId": "PostDisputesDispute",
        "parameters": [
          {
            "in": "path",
            "name": "dispute",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "evidence": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "evidence": {
                    "description": "Evidence to upload, to respond to a dispute. Updating any field in the hash will submit all fields in the hash for review. The combined character count of all fields is limited to 150,000.",
                    "properties": {
                      "access_activity_log": {
                        "maxLength": 20000,
                        "type": "string"
                      },
                      "billing_address": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "cancellation_policy": {
                        "type": "string"
                      },
                      "cancellation_policy_disclosure": {
                        "maxLength": 20000,
                        "type": "string"
                      },
                      "cancellation_rebuttal": {
                        "maxLength": 20000,
                        "type": "string"
                      },
                      "customer_communication": {
                        "type": "string"
                      },
                      "customer_email_address": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "customer_name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "customer_purchase_ip": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "customer_signature": {
                        "type": "string"
                      },
                      "duplicate_charge_documentation": {
                        "type": "string"
                      },
                      "duplicate_charge_explanation": {
                        "maxLength": 20000,
                        "type": "string"
                      },
                      "duplicate_charge_id": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "product_description": {
                        "maxLength": 20000,
                        "type": "string"
                      },
                      "receipt": {
                        "type": "string"
                      },
                      "refund_policy": {
                        "type": "string"
                      },
                      "refund_policy_disclosure": {
                        "maxLength": 20000,
                        "type": "string"
                      },
                      "refund_refusal_explanation": {
                        "maxLength": 20000,
                        "type": "string"
                      },
                      "service_date": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "service_documentation": {
                        "type": "string"
                      },
                      "shipping_address": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "shipping_carrier": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "shipping_date": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "shipping_documentation": {
                        "type": "string"
                      },
                      "shipping_tracking_number": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "uncategorized_file": {
                        "type": "string"
                      },
                      "uncategorized_text": {
                        "maxLength": 20000,
                        "type": "string"
                      }
                    },
                    "title": "dispute_evidence_params",
                    "type": "object"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "submit": {
                    "description": "Whether to immediately submit evidence to the bank. If `false`, evidence is staged on the dispute. Staged evidence is visible in the API and Dashboard, and can be submitted to the bank by making another request with this attribute set to `true` (the default).",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/dispute"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/disputes/{dispute}/close": {
      "post": {
        "description": "<p>Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost.</p>\n\n<p>The status of the dispute will change from <code>needs_response</code> to <code>lost</code>. <em>Closing a dispute is irreversible</em>.</p>",
        "operationId": "PostDisputesDisputeClose",
        "parameters": [
          {
            "in": "path",
            "name": "dispute",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/dispute"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/ephemeral_keys": {
      "post": {
        "description": "<p>Creates a short-lived API key for a given resource.</p>",
        "operationId": "PostEphemeralKeys",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "customer": {
                    "description": "The ID of the Customer you'd like to modify using the resulting ephemeral key.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "issuing_card": {
                    "description": "The ID of the Issuing Card you'd like to access using the resulting ephemeral key.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ephemeral_key"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/ephemeral_keys/{key}": {
      "delete": {
        "description": "<p>Invalidates a short-lived API key for a given resource.</p>",
        "operationId": "DeleteEphemeralKeysKey",
        "parameters": [
          {
            "in": "path",
            "name": "key",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ephemeral_key"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/events": {
      "get": {
        "description": "<p>List events, going back up to 30 days. Each event data is rendered according to Stripe API version at its creation time, specified in <a href=\"/docs/api/events/object\">event object</a> <code>api_version</code> attribute (not according to your current Stripe API version or <code>Stripe-Version</code> header).</p>",
        "operationId": "GetEvents",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Filter events by whether all webhooks were successfully delivered. If false, events which are still pending or have failed all delivery attempts to a webhook endpoint will be returned.",
            "in": "query",
            "name": "delivery_success",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "A string containing a specific event name, or group of events using * as a wildcard. The list will be filtered to include only events with a matching event property.",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "An array of up to 20 strings containing specific event names. The list will be filtered to include only events with a matching event property. You may pass either `type` or `types`, but not both.",
            "explode": true,
            "in": "query",
            "name": "types",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/event"
                      },
                      "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/events",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "NotificationEventList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/events/{id}": {
      "get": {
        "description": "<p>Retrieves the details of an event. Supply the unique identifier of the event, which you might have received in a webhook.</p>",
        "operationId": "GetEventsId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/event"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/exchange_rates": {
      "get": {
        "description": "<p>Returns a list of objects that contain the rates at which foreign currencies are converted to one another. Only shows the currencies for which Stripe supports.</p>",
        "operationId": "GetExchangeRates",
        "parameters": [
          {
            "description": "A cursor for use in pagination. `ending_before` is the currency that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with the exchange rate for currency X your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and total number of supported payout currencies, and the default is the max.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "A cursor for use in pagination. `starting_after` is the currency that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with the exchange rate for currency X, your subsequent call can include `starting_after=X` in order to fetch the next page of the list.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/exchange_rate"
                      },
                      "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/exchange_rates",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/exchange_rates/{rate_id}": {
      "get": {
        "description": "<p>Retrieves the exchange rates from the given currency to every supported currency.</p>",
        "operationId": "GetExchangeRatesRateId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "rate_id",
            "required": true,
            "schema": {
              "maxLength": 3,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/exchange_rate"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/file_links": {
      "get": {
        "description": "<p>Returns a list of file links.</p>",
        "operationId": "GetFileLinks",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "Filter links by their expiration status. By default, all links are returned.",
            "in": "query",
            "name": "expired",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Only return links for the given file.",
            "in": "query",
            "name": "file",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/file_link"
                      },
                      "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/file_links",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new file link object.</p>",
        "operationId": "PostFileLinks",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "expires_at": {
                    "description": "A future timestamp after which the link will no longer be usable.",
                    "format": "unix-time",
                    "type": "integer"
                  },
                  "file": {
                    "description": "The ID of the file. The file's `purpose` must be one of the following: `business_icon`, `business_logo`, `customer_signature`, `dispute_evidence`, `finance_report_run`, `pci_document`, `sigma_scheduled_query`, or `tax_document_user_upload`.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "required": ["file"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/file_link"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/file_links/{link}": {
      "get": {
        "description": "<p>Retrieves the file link with the given ID.</p>",
        "operationId": "GetFileLinksLink",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "link",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/file_link"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates an existing file link object. Expired links can no longer be updated.</p>",
        "operationId": "PostFileLinksLink",
        "parameters": [
          {
            "in": "path",
            "name": "link",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expires_at": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "expires_at": {
                    "anyOf": [
                      {
                        "enum": ["now"],
                        "maxLength": 5000,
                        "type": "string"
                      },
                      {
                        "format": "unix-time",
                        "type": "integer"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "A future timestamp after which the link will no longer be usable, or `now` to expire the link immediately."
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/file_link"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/files": {
      "get": {
        "description": "<p>Returns a list of the files that your account has access to. The files are returned sorted by creation date, with the most recently created files appearing first.</p>",
        "operationId": "GetFiles",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "The file purpose to filter queries by. If none is provided, files will not be filtered by purpose.",
            "in": "query",
            "name": "purpose",
            "required": false,
            "schema": {
              "enum": [
                "account_requirement",
                "additional_verification",
                "business_icon",
                "business_logo",
                "customer_signature",
                "dispute_evidence",
                "document_provider_identity_document",
                "finance_report_run",
                "identity_document",
                "pci_document",
                "sigma_scheduled_query",
                "tax_document_user_upload"
              ],
              "maxLength": 5000,
              "type": "string",
              "x-stripeBypassValidation": true
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/file"
                      },
                      "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/files",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>To upload a file to Stripe, you’ll need to send a request of type <code>multipart/form-data</code>. The request should contain the file you would like to upload, as well as the parameters for creating a file.</p>\n\n<p>All of Stripe’s officially supported Client libraries should have support for sending <code>multipart/form-data</code>.</p>",
        "operationId": "PostFiles",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "file_link_data": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "file": {
                    "description": "A file to upload. The file should follow the specifications of RFC 2388 (which defines file transfers for the `multipart/form-data` protocol).",
                    "type": "string"
                  },
                  "file_link_data": {
                    "description": "Optional parameters to automatically create a [file link](https://stripe.com/docs/api#file_links) for the newly created file.",
                    "properties": {
                      "create": {
                        "type": "boolean"
                      },
                      "expires_at": {
                        "format": "unix-time",
                        "type": "integer"
                      },
                      "metadata": {
                        "anyOf": [
                          {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      }
                    },
                    "required": ["create"],
                    "title": "file_link_creation_params",
                    "type": "object"
                  },
                  "purpose": {
                    "description": "The [purpose](https://stripe.com/docs/file-upload#uploading-a-file) of the uploaded file.",
                    "enum": [
                      "account_requirement",
                      "additional_verification",
                      "business_icon",
                      "business_logo",
                      "customer_signature",
                      "dispute_evidence",
                      "identity_document",
                      "pci_document",
                      "tax_document_user_upload"
                    ],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  }
                },
                "required": ["file", "purpose"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/file"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        },
        "servers": [
          {
            "url": "https://files.stripe.com/"
          }
        ]
      }
    },
    "/v1/files/{file}": {
      "get": {
        "description": "<p>Retrieves the details of an existing file object. Supply the unique file ID from a file, and Stripe will return the corresponding file object. To access file contents, see the <a href=\"/docs/file-upload#download-file-contents\">File Upload Guide</a>.</p>",
        "operationId": "GetFilesFile",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "file",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/file"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/invoiceitems": {
      "get": {
        "description": "<p>Returns a list of your invoice items. Invoice items are returned sorted by creation date, with the most recently created invoice items appearing first.</p>",
        "operationId": "GetInvoiceitems",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "The identifier of the customer whose invoice items to return. If none is provided, all invoice items will be returned.",
            "in": "query",
            "name": "customer",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "Only return invoice items belonging to this invoice. If none is provided, all invoice items will be returned. If specifying an invoice, no customer identifier is needed.",
            "in": "query",
            "name": "invoice",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Set to `true` to only show pending invoice items, which are not yet attached to any invoices. Set to `false` to only show invoice items already attached to invoices. If unspecified, no filter is applied.",
            "in": "query",
            "name": "pending",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/invoiceitem"
                      },
                      "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/invoiceitems",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates an item to be added to a draft invoice (up to 250 items per invoice). If no invoice is specified, the item will be on the next invoice created for the customer specified.</p>",
        "operationId": "PostInvoiceitems",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "discounts": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "period": {
                  "explode": true,
                  "style": "deepObject"
                },
                "price_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "tax_rates": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "The integer amount in %s of the charge to be applied to the upcoming invoice. Passing in a negative `amount` will reduce the `amount_due` on the invoice.",
                    "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).",
                    "type": "string"
                  },
                  "customer": {
                    "description": "The ID of the customer who will be billed when this invoice item is billed.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "description": {
                    "description": "An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "discountable": {
                    "description": "Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items.",
                    "type": "boolean"
                  },
                  "discounts": {
                    "anyOf": [
                      {
                        "items": {
                          "properties": {
                            "coupon": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "discount": {
                              "maxLength": 5000,
                              "type": "string"
                            }
                          },
                          "title": "discounts_data_param",
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The coupons to redeem into discounts for the invoice item or invoice line item."
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "invoice": {
                    "description": "The ID of an existing invoice to add this invoice item to. When left blank, the invoice item will be added to the next upcoming scheduled invoice. This is useful when adding invoice items in response to an invoice.created webhook. You can only add invoice items to draft invoices and there is a maximum of 250 items per invoice.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "period": {
                    "description": "The period associated with this invoice item.",
                    "properties": {
                      "end": {
                        "format": "unix-time",
                        "type": "integer"
                      },
                      "start": {
                        "format": "unix-time",
                        "type": "integer"
                      }
                    },
                    "required": ["end", "start"],
                    "title": "period",
                    "type": "object"
                  },
                  "price": {
                    "description": "The ID of the price object.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "price_data": {
                    "description": "Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline.",
                    "properties": {
                      "currency": {
                        "type": "string"
                      },
                      "product": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "unit_amount": {
                        "type": "integer"
                      },
                      "unit_amount_decimal": {
                        "format": "decimal",
                        "type": "string"
                      }
                    },
                    "required": ["currency", "product"],
                    "title": "one_time_price_data",
                    "type": "object"
                  },
                  "quantity": {
                    "description": "Non-negative integer. The quantity of units for the invoice item.",
                    "type": "integer"
                  },
                  "subscription": {
                    "description": "The ID of a subscription to add this invoice item to. When left blank, the invoice item will be be added to the next upcoming scheduled invoice. When set, scheduled invoices for subscriptions other than the specified subscription will ignore the invoice item. Use this when you want to express that an invoice item has been accrued within the context of a particular subscription.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "tax_rates": {
                    "description": "The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "unit_amount": {
                    "description": "The integer unit amount in %s of the charge to be applied to the upcoming invoice. This `unit_amount` will be multiplied by the quantity to get the full amount. Passing in a negative `unit_amount` will reduce the `amount_due` on the invoice.",
                    "type": "integer"
                  },
                  "unit_amount_decimal": {
                    "description": "Same as `unit_amount`, but accepts a decimal value in %s with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.",
                    "format": "decimal",
                    "type": "string"
                  }
                },
                "required": ["customer"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoiceitem"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/invoiceitems/{invoiceitem}": {
      "delete": {
        "description": "<p>Deletes an invoice item, removing it from an invoice. Deleting invoice items is only possible when they’re not attached to invoices, or if it’s attached to a draft invoice.</p>",
        "operationId": "DeleteInvoiceitemsInvoiceitem",
        "parameters": [
          {
            "in": "path",
            "name": "invoiceitem",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_invoiceitem"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves the invoice item with the given ID.</p>",
        "operationId": "GetInvoiceitemsInvoiceitem",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "invoiceitem",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoiceitem"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the amount or description of an invoice item on an upcoming invoice. Updating an invoice item is only possible before the invoice it’s attached to is closed.</p>",
        "operationId": "PostInvoiceitemsInvoiceitem",
        "parameters": [
          {
            "in": "path",
            "name": "invoiceitem",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "discounts": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "period": {
                  "explode": true,
                  "style": "deepObject"
                },
                "price_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "tax_rates": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "The integer amount in %s of the charge to be applied to the upcoming invoice. If you want to apply a credit to the customer's account, pass a negative amount.",
                    "type": "integer"
                  },
                  "description": {
                    "description": "An arbitrary string which you can attach to the invoice item. The description is displayed in the invoice for easy tracking.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "discountable": {
                    "description": "Controls whether discounts apply to this invoice item. Defaults to false for prorations or negative invoice items, and true for all other invoice items. Cannot be set to true for prorations.",
                    "type": "boolean"
                  },
                  "discounts": {
                    "anyOf": [
                      {
                        "items": {
                          "properties": {
                            "coupon": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "discount": {
                              "maxLength": 5000,
                              "type": "string"
                            }
                          },
                          "title": "discounts_data_param",
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The coupons & existing discounts which apply to the invoice item or invoice line item. Item discounts are applied before invoice discounts. Pass an empty string to remove previously-defined discounts."
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "period": {
                    "description": "The period associated with this invoice item.",
                    "properties": {
                      "end": {
                        "format": "unix-time",
                        "type": "integer"
                      },
                      "start": {
                        "format": "unix-time",
                        "type": "integer"
                      }
                    },
                    "required": ["end", "start"],
                    "title": "period",
                    "type": "object"
                  },
                  "price": {
                    "description": "The ID of the price object.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "price_data": {
                    "description": "Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline.",
                    "properties": {
                      "currency": {
                        "type": "string"
                      },
                      "product": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "unit_amount": {
                        "type": "integer"
                      },
                      "unit_amount_decimal": {
                        "format": "decimal",
                        "type": "string"
                      }
                    },
                    "required": ["currency", "product"],
                    "title": "one_time_price_data",
                    "type": "object"
                  },
                  "quantity": {
                    "description": "Non-negative integer. The quantity of units for the invoice item.",
                    "type": "integer"
                  },
                  "tax_rates": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item. Pass an empty string to remove previously-defined tax rates."
                  },
                  "unit_amount": {
                    "description": "The integer unit amount in %s of the charge to be applied to the upcoming invoice. This unit_amount will be multiplied by the quantity to get the full amount. If you want to apply a credit to the customer's account, pass a negative unit_amount.",
                    "type": "integer"
                  },
                  "unit_amount_decimal": {
                    "description": "Same as `unit_amount`, but accepts a decimal value in %s with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.",
                    "format": "decimal",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoiceitem"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/invoices": {
      "get": {
        "description": "<p>You can list all invoices, or list the invoices for a specific customer. The invoices are returned sorted by creation date, with the most recently created invoices appearing first.</p>",
        "operationId": "GetInvoices",
        "parameters": [
          {
            "description": "The collection method of the invoice to retrieve. Either `charge_automatically` or `send_invoice`.",
            "in": "query",
            "name": "collection_method",
            "required": false,
            "schema": {
              "enum": ["charge_automatically", "send_invoice"],
              "type": "string"
            },
            "style": "form"
          },
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return invoices for the customer specified by this customer ID.",
            "in": "query",
            "name": "customer",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "explode": true,
            "in": "query",
            "name": "due_date",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "The status of the invoice, one of `draft`, `open`, `paid`, `uncollectible`, or `void`. [Learn more](https://stripe.com/docs/billing/invoices/workflow#workflow-overview)",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "enum": ["draft", "open", "paid", "uncollectible", "void"],
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return invoices for the subscription specified by this subscription ID.",
            "in": "query",
            "name": "subscription",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/invoice"
                      },
                      "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/invoices",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "InvoicesList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>This endpoint creates a draft invoice for a given customer. The draft invoice created pulls in all pending invoice items on that customer, including prorations. The invoice remains a draft until you <a href=\"#finalize_invoice\">finalize</a> the invoice, which allows you to <a href=\"#pay_invoice\">pay</a> or <a href=\"#send_invoice\">send</a> the invoice to your customers.</p>",
        "operationId": "PostInvoices",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "account_tax_ids": {
                  "explode": true,
                  "style": "deepObject"
                },
                "custom_fields": {
                  "explode": true,
                  "style": "deepObject"
                },
                "default_tax_rates": {
                  "explode": true,
                  "style": "deepObject"
                },
                "discounts": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_settings": {
                  "explode": true,
                  "style": "deepObject"
                },
                "transfer_data": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account_tax_ids": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The account tax IDs associated with the invoice. Only editable when the invoice is a draft."
                  },
                  "application_fee_amount": {
                    "description": "A fee in %s that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees).",
                    "type": "integer"
                  },
                  "auto_advance": {
                    "description": "Controls whether Stripe will perform [automatic collection](https://stripe.com/docs/billing/invoices/workflow/#auto_advance) of the invoice. When `false`, the invoice's state will not automatically advance without an explicit action.",
                    "type": "boolean"
                  },
                  "collection_method": {
                    "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions. Defaults to `charge_automatically`.",
                    "enum": ["charge_automatically", "send_invoice"],
                    "type": "string"
                  },
                  "custom_fields": {
                    "anyOf": [
                      {
                        "items": {
                          "properties": {
                            "name": {
                              "maxLength": 30,
                              "type": "string"
                            },
                            "value": {
                              "maxLength": 30,
                              "type": "string"
                            }
                          },
                          "required": ["name", "value"],
                          "title": "custom_field_params",
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "A list of up to 4 custom fields to be displayed on the invoice."
                  },
                  "customer": {
                    "description": "The ID of the customer who will be billed.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "days_until_due": {
                    "description": "The number of days from when the invoice is created until it is due. Valid only for invoices where `collection_method=send_invoice`.",
                    "type": "integer"
                  },
                  "default_payment_method": {
                    "description": "ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_source": {
                    "description": "ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_tax_rates": {
                    "description": "The tax rates that will apply to any line item that does not have `tax_rates` set.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "description": {
                    "description": "An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard.",
                    "maxLength": 1500,
                    "type": "string"
                  },
                  "discounts": {
                    "anyOf": [
                      {
                        "items": {
                          "properties": {
                            "coupon": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "discount": {
                              "maxLength": 5000,
                              "type": "string"
                            }
                          },
                          "title": "discounts_data_param",
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The coupons to redeem into discounts for the invoice. If not specified, inherits the discount from the invoice's customer. Pass an empty string to avoid inheriting any discounts."
                  },
                  "due_date": {
                    "description": "The date on which payment for this invoice is due. Valid only for invoices where `collection_method=send_invoice`.",
                    "format": "unix-time",
                    "type": "integer"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "footer": {
                    "description": "Footer to be displayed on the invoice.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "on_behalf_of": {
                    "description": "The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details.",
                    "type": "string"
                  },
                  "payment_settings": {
                    "description": "Configuration settings for the PaymentIntent that is generated when the invoice is finalized.",
                    "properties": {
                      "payment_method_options": {
                        "properties": {
                          "bancontact": {
                            "anyOf": [
                              {
                                "properties": {
                                  "preferred_language": {
                                    "enum": ["de", "en", "fr", "nl"],
                                    "type": "string"
                                  }
                                },
                                "title": "invoice_payment_method_options_param",
                                "type": "object"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          },
                          "card": {
                            "anyOf": [
                              {
                                "properties": {
                                  "request_three_d_secure": {
                                    "enum": ["any", "automatic"],
                                    "type": "string"
                                  }
                                },
                                "title": "invoice_payment_method_options_param",
                                "type": "object"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          }
                        },
                        "title": "payment_method_options",
                        "type": "object"
                      },
                      "payment_method_types": {
                        "anyOf": [
                          {
                            "items": {
                              "enum": [
                                "ach_credit_transfer",
                                "ach_debit",
                                "au_becs_debit",
                                "bacs_debit",
                                "bancontact",
                                "card",
                                "fpx",
                                "giropay",
                                "ideal",
                                "sepa_debit",
                                "sofort"
                              ],
                              "type": "string",
                              "x-stripeBypassValidation": true
                            },
                            "type": "array"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      }
                    },
                    "title": "payment_settings",
                    "type": "object"
                  },
                  "statement_descriptor": {
                    "description": "Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`.",
                    "maxLength": 22,
                    "type": "string"
                  },
                  "subscription": {
                    "description": "The ID of the subscription to invoice, if any. If not set, the created invoice will include all pending invoice items for the customer. If set, the created invoice will only include pending invoice items for that subscription and pending invoice items not associated with any subscription. The subscription's billing cycle and regular subscription events won't be affected.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "transfer_data": {
                    "description": "If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge.",
                    "properties": {
                      "amount": {
                        "type": "integer"
                      },
                      "destination": {
                        "type": "string"
                      }
                    },
                    "required": ["destination"],
                    "title": "transfer_data_specs",
                    "type": "object"
                  }
                },
                "required": ["customer"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/invoices/upcoming": {
      "get": {
        "description": "<p>At any time, you can preview the upcoming invoice for a customer. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice.</p>\n\n<p>Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer’s discount.</p>\n\n<p>You can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass a <code>proration_date</code> parameter when doing the actual subscription update. The value passed in should be the same as the <code>subscription_proration_date</code> returned on the upcoming invoice resource. The recommended way to get only the prorations being previewed is to consider only proration line items where <code>period[start]</code> is equal to the <code>subscription_proration_date</code> on the upcoming invoice resource.</p>",
        "operationId": "GetInvoicesUpcoming",
        "parameters": [
          {
            "description": "The code of the coupon to apply. If `subscription` or `subscription_items` is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions. The invoice can be previewed without a coupon by passing this value as an empty string.",
            "in": "query",
            "name": "coupon",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "The identifier of the customer whose upcoming invoice you'd like to retrieve.",
            "in": "query",
            "name": "customer",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the customer or subscription. Pass an empty string to avoid inheriting any discounts.",
            "explode": true,
            "in": "query",
            "name": "discounts",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "properties": {
                      "coupon": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "discount": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "discounts_data_param",
                    "type": "object"
                  },
                  "type": "array"
                },
                {
                  "enum": [""],
                  "type": "string"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "List of invoice items to add or update in the upcoming invoice preview.",
            "explode": true,
            "in": "query",
            "name": "invoice_items",
            "required": false,
            "schema": {
              "items": {
                "properties": {
                  "amount": {
                    "type": "integer"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "description": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "discountable": {
                    "type": "boolean"
                  },
                  "discounts": {
                    "anyOf": [
                      {
                        "items": {
                          "properties": {
                            "coupon": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "discount": {
                              "maxLength": 5000,
                              "type": "string"
                            }
                          },
                          "title": "discounts_data_param",
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  },
                  "invoiceitem": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  },
                  "period": {
                    "properties": {
                      "end": {
                        "format": "unix-time",
                        "type": "integer"
                      },
                      "start": {
                        "format": "unix-time",
                        "type": "integer"
                      }
                    },
                    "required": ["end", "start"],
                    "title": "period",
                    "type": "object"
                  },
                  "price": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "price_data": {
                    "properties": {
                      "currency": {
                        "type": "string"
                      },
                      "product": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "unit_amount": {
                        "type": "integer"
                      },
                      "unit_amount_decimal": {
                        "format": "decimal",
                        "type": "string"
                      }
                    },
                    "required": ["currency", "product"],
                    "title": "one_time_price_data",
                    "type": "object"
                  },
                  "quantity": {
                    "type": "integer"
                  },
                  "tax_rates": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  },
                  "unit_amount": {
                    "type": "integer"
                  },
                  "unit_amount_decimal": {
                    "format": "decimal",
                    "type": "string"
                  }
                },
                "title": "invoice_item_preview_params",
                "type": "object"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "The identifier of the unstarted schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields.",
            "in": "query",
            "name": "schedule",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions.",
            "in": "query",
            "name": "subscription",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`.",
            "explode": true,
            "in": "query",
            "name": "subscription_billing_cycle_anchor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": ["now", "unchanged"],
                  "maxLength": 5000,
                  "type": "string"
                },
                {
                  "format": "unix-time",
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Timestamp indicating when the subscription should be scheduled to cancel. Will prorate if within the current period and prorations have been enabled using `proration_behavior`.",
            "explode": true,
            "in": "query",
            "name": "subscription_cancel_at",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "unix-time",
                  "type": "integer"
                },
                {
                  "enum": [""],
                  "type": "string"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Boolean indicating whether this subscription should cancel at the end of the current period.",
            "in": "query",
            "name": "subscription_cancel_at_period_end",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "This simulates the subscription being canceled or expired immediately.",
            "in": "query",
            "name": "subscription_cancel_now",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have `tax_rates` set.",
            "explode": true,
            "in": "query",
            "name": "subscription_default_tax_rates",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "type": "array"
                },
                {
                  "enum": [""],
                  "type": "string"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "A list of up to 20 subscription items, each with an attached price.",
            "explode": true,
            "in": "query",
            "name": "subscription_items",
            "required": false,
            "schema": {
              "items": {
                "properties": {
                  "billing_thresholds": {
                    "anyOf": [
                      {
                        "properties": {
                          "usage_gte": {
                            "type": "integer"
                          }
                        },
                        "required": ["usage_gte"],
                        "title": "item_billing_thresholds_param",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  },
                  "clear_usage": {
                    "type": "boolean"
                  },
                  "deleted": {
                    "type": "boolean"
                  },
                  "id": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  },
                  "price": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "price_data": {
                    "properties": {
                      "currency": {
                        "type": "string"
                      },
                      "product": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "recurring": {
                        "properties": {
                          "interval": {
                            "enum": ["day", "month", "week", "year"],
                            "type": "string"
                          },
                          "interval_count": {
                            "type": "integer"
                          }
                        },
                        "required": ["interval"],
                        "title": "recurring_adhoc",
                        "type": "object"
                      },
                      "unit_amount": {
                        "type": "integer"
                      },
                      "unit_amount_decimal": {
                        "format": "decimal",
                        "type": "string"
                      }
                    },
                    "required": ["currency", "product", "recurring"],
                    "title": "recurring_price_data",
                    "type": "object"
                  },
                  "quantity": {
                    "type": "integer"
                  },
                  "tax_rates": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  }
                },
                "title": "subscription_item_update_params",
                "type": "object"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. Valid values are `create_prorations`, `none`, or `always_invoice`.\n\nPassing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.\n\nProrations can be disabled by passing `none`.",
            "in": "query",
            "name": "subscription_proration_behavior",
            "required": false,
            "schema": {
              "enum": ["always_invoice", "create_prorations", "none"],
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "If previewing an update to a subscription, and doing proration, `subscription_proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period, and cannot be before the subscription was on its current plan. If set, `subscription`, and one of `subscription_items`, or `subscription_trial_end` are required. Also, `subscription_proration_behavior` cannot be set to 'none'.",
            "in": "query",
            "name": "subscription_proration_date",
            "required": false,
            "schema": {
              "format": "unix-time",
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Date a subscription is intended to start (can be future or past)",
            "in": "query",
            "name": "subscription_start_date",
            "required": false,
            "schema": {
              "format": "unix-time",
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of `subscription_items` or `subscription` is required.",
            "explode": true,
            "in": "query",
            "name": "subscription_trial_end",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": ["now"],
                  "maxLength": 5000,
                  "type": "string"
                },
                {
                  "format": "unix-time",
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `subscription_trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `subscription_trial_end` is not allowed.",
            "in": "query",
            "name": "subscription_trial_from_plan",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/invoices/upcoming/lines": {
      "get": {
        "description": "<p>When retrieving an upcoming invoice, you’ll get a <strong>lines</strong> property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.</p>",
        "operationId": "GetInvoicesUpcomingLines",
        "parameters": [
          {
            "description": "The code of the coupon to apply. If `subscription` or `subscription_items` is provided, the invoice returned will preview updating or creating a subscription with that coupon. Otherwise, it will preview applying that coupon to the customer for the next upcoming invoice from among the customer's subscriptions. The invoice can be previewed without a coupon by passing this value as an empty string.",
            "in": "query",
            "name": "coupon",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "The identifier of the customer whose upcoming invoice you'd like to retrieve.",
            "in": "query",
            "name": "customer",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "The coupons to redeem into discounts for the invoice preview. If not specified, inherits the discount from the customer or subscription. Pass an empty string to avoid inheriting any discounts.",
            "explode": true,
            "in": "query",
            "name": "discounts",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "properties": {
                      "coupon": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "discount": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "discounts_data_param",
                    "type": "object"
                  },
                  "type": "array"
                },
                {
                  "enum": [""],
                  "type": "string"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "List of invoice items to add or update in the upcoming invoice preview.",
            "explode": true,
            "in": "query",
            "name": "invoice_items",
            "required": false,
            "schema": {
              "items": {
                "properties": {
                  "amount": {
                    "type": "integer"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "description": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "discountable": {
                    "type": "boolean"
                  },
                  "discounts": {
                    "anyOf": [
                      {
                        "items": {
                          "properties": {
                            "coupon": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "discount": {
                              "maxLength": 5000,
                              "type": "string"
                            }
                          },
                          "title": "discounts_data_param",
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  },
                  "invoiceitem": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  },
                  "period": {
                    "properties": {
                      "end": {
                        "format": "unix-time",
                        "type": "integer"
                      },
                      "start": {
                        "format": "unix-time",
                        "type": "integer"
                      }
                    },
                    "required": ["end", "start"],
                    "title": "period",
                    "type": "object"
                  },
                  "price": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "price_data": {
                    "properties": {
                      "currency": {
                        "type": "string"
                      },
                      "product": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "unit_amount": {
                        "type": "integer"
                      },
                      "unit_amount_decimal": {
                        "format": "decimal",
                        "type": "string"
                      }
                    },
                    "required": ["currency", "product"],
                    "title": "one_time_price_data",
                    "type": "object"
                  },
                  "quantity": {
                    "type": "integer"
                  },
                  "tax_rates": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  },
                  "unit_amount": {
                    "type": "integer"
                  },
                  "unit_amount_decimal": {
                    "format": "decimal",
                    "type": "string"
                  }
                },
                "title": "invoice_item_preview_params",
                "type": "object"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "The identifier of the unstarted schedule whose upcoming invoice you'd like to retrieve. Cannot be used with subscription or subscription fields.",
            "in": "query",
            "name": "schedule",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "The identifier of the subscription for which you'd like to retrieve the upcoming invoice. If not provided, but a `subscription_items` is provided, you will preview creating a subscription with those items. If neither `subscription` nor `subscription_items` is provided, you will retrieve the next upcoming invoice from among the customer's subscriptions.",
            "in": "query",
            "name": "subscription",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "For new subscriptions, a future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices. For existing subscriptions, the value can only be set to `now` or `unchanged`.",
            "explode": true,
            "in": "query",
            "name": "subscription_billing_cycle_anchor",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": ["now", "unchanged"],
                  "maxLength": 5000,
                  "type": "string"
                },
                {
                  "format": "unix-time",
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Timestamp indicating when the subscription should be scheduled to cancel. Will prorate if within the current period and prorations have been enabled using `proration_behavior`.",
            "explode": true,
            "in": "query",
            "name": "subscription_cancel_at",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "format": "unix-time",
                  "type": "integer"
                },
                {
                  "enum": [""],
                  "type": "string"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Boolean indicating whether this subscription should cancel at the end of the current period.",
            "in": "query",
            "name": "subscription_cancel_at_period_end",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "This simulates the subscription being canceled or expired immediately.",
            "in": "query",
            "name": "subscription_cancel_now",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "If provided, the invoice returned will preview updating or creating a subscription with these default tax rates. The default tax rates will apply to any line item that does not have `tax_rates` set.",
            "explode": true,
            "in": "query",
            "name": "subscription_default_tax_rates",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "items": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "type": "array"
                },
                {
                  "enum": [""],
                  "type": "string"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "A list of up to 20 subscription items, each with an attached price.",
            "explode": true,
            "in": "query",
            "name": "subscription_items",
            "required": false,
            "schema": {
              "items": {
                "properties": {
                  "billing_thresholds": {
                    "anyOf": [
                      {
                        "properties": {
                          "usage_gte": {
                            "type": "integer"
                          }
                        },
                        "required": ["usage_gte"],
                        "title": "item_billing_thresholds_param",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  },
                  "clear_usage": {
                    "type": "boolean"
                  },
                  "deleted": {
                    "type": "boolean"
                  },
                  "id": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  },
                  "price": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "price_data": {
                    "properties": {
                      "currency": {
                        "type": "string"
                      },
                      "product": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "recurring": {
                        "properties": {
                          "interval": {
                            "enum": ["day", "month", "week", "year"],
                            "type": "string"
                          },
                          "interval_count": {
                            "type": "integer"
                          }
                        },
                        "required": ["interval"],
                        "title": "recurring_adhoc",
                        "type": "object"
                      },
                      "unit_amount": {
                        "type": "integer"
                      },
                      "unit_amount_decimal": {
                        "format": "decimal",
                        "type": "string"
                      }
                    },
                    "required": ["currency", "product", "recurring"],
                    "title": "recurring_price_data",
                    "type": "object"
                  },
                  "quantity": {
                    "type": "integer"
                  },
                  "tax_rates": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ]
                  }
                },
                "title": "subscription_item_update_params",
                "type": "object"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. Valid values are `create_prorations`, `none`, or `always_invoice`.\n\nPassing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.\n\nProrations can be disabled by passing `none`.",
            "in": "query",
            "name": "subscription_proration_behavior",
            "required": false,
            "schema": {
              "enum": ["always_invoice", "create_prorations", "none"],
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "If previewing an update to a subscription, and doing proration, `subscription_proration_date` forces the proration to be calculated as though the update was done at the specified time. The time given must be within the current subscription period, and cannot be before the subscription was on its current plan. If set, `subscription`, and one of `subscription_items`, or `subscription_trial_end` are required. Also, `subscription_proration_behavior` cannot be set to 'none'.",
            "in": "query",
            "name": "subscription_proration_date",
            "required": false,
            "schema": {
              "format": "unix-time",
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Date a subscription is intended to start (can be future or past)",
            "in": "query",
            "name": "subscription_start_date",
            "required": false,
            "schema": {
              "format": "unix-time",
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "If provided, the invoice returned will preview updating or creating a subscription with that trial end. If set, one of `subscription_items` or `subscription` is required.",
            "explode": true,
            "in": "query",
            "name": "subscription_trial_end",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "enum": ["now"],
                  "maxLength": 5000,
                  "type": "string"
                },
                {
                  "format": "unix-time",
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `subscription_trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `subscription_trial_end` is not allowed.",
            "in": "query",
            "name": "subscription_trial_from_plan",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/line_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": "InvoiceLinesList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/invoices/{invoice}": {
      "delete": {
        "description": "<p>Permanently deletes a one-off invoice draft. This cannot be undone. Attempts to delete invoices that are no longer in a draft state will fail; once an invoice has been finalized or if an invoice is for a subscription, it must be <a href=\"#void_invoice\">voided</a>.</p>",
        "operationId": "DeleteInvoicesInvoice",
        "parameters": [
          {
            "in": "path",
            "name": "invoice",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_invoice"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves the invoice with the given ID.</p>",
        "operationId": "GetInvoicesInvoice",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "invoice",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Draft invoices are fully editable. Once an invoice is <a href=\"/docs/billing/invoices/workflow#finalized\">finalized</a>,\nmonetary values, as well as <code>collection_method</code>, become uneditable.</p>\n\n<p>If you would like to stop the Stripe Billing engine from automatically finalizing, reattempting payments on,\nsending reminders for, or <a href=\"/docs/billing/invoices/reconciliation\">automatically reconciling</a> invoices, pass\n<code>auto_advance=false</code>.</p>",
        "operationId": "PostInvoicesInvoice",
        "parameters": [
          {
            "in": "path",
            "name": "invoice",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "account_tax_ids": {
                  "explode": true,
                  "style": "deepObject"
                },
                "custom_fields": {
                  "explode": true,
                  "style": "deepObject"
                },
                "default_tax_rates": {
                  "explode": true,
                  "style": "deepObject"
                },
                "discounts": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "on_behalf_of": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_settings": {
                  "explode": true,
                  "style": "deepObject"
                },
                "transfer_data": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account_tax_ids": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The account tax IDs associated with the invoice. Only editable when the invoice is a draft."
                  },
                  "application_fee_amount": {
                    "description": "A fee in %s that will be applied to the invoice and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/billing/invoices/connect#collecting-fees).",
                    "type": "integer"
                  },
                  "auto_advance": {
                    "description": "Controls whether Stripe will perform [automatic collection](https://stripe.com/docs/billing/invoices/workflow/#auto_advance) of the invoice.",
                    "type": "boolean"
                  },
                  "collection_method": {
                    "description": "Either `charge_automatically` or `send_invoice`. This field can be updated only on `draft` invoices.",
                    "enum": ["charge_automatically", "send_invoice"],
                    "type": "string"
                  },
                  "custom_fields": {
                    "anyOf": [
                      {
                        "items": {
                          "properties": {
                            "name": {
                              "maxLength": 30,
                              "type": "string"
                            },
                            "value": {
                              "maxLength": 30,
                              "type": "string"
                            }
                          },
                          "required": ["name", "value"],
                          "title": "custom_field_params",
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "A list of up to 4 custom fields to be displayed on the invoice. If a value for `custom_fields` is specified, the list specified will replace the existing custom field list on this invoice. Pass an empty string to remove previously-defined fields."
                  },
                  "days_until_due": {
                    "description": "The number of days from which the invoice is created until it is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices.",
                    "type": "integer"
                  },
                  "default_payment_method": {
                    "description": "ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription's default payment method, if any, or to the default payment method in the customer's invoice settings.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_source": {
                    "description": "ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription's default source, if any, or to the customer's default source.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_tax_rates": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The tax rates that will apply to any line item that does not have `tax_rates` set. Pass an empty string to remove previously-defined tax rates."
                  },
                  "description": {
                    "description": "An arbitrary string attached to the object. Often useful for displaying to users. Referenced as 'memo' in the Dashboard.",
                    "maxLength": 1500,
                    "type": "string"
                  },
                  "discounts": {
                    "anyOf": [
                      {
                        "items": {
                          "properties": {
                            "coupon": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "discount": {
                              "maxLength": 5000,
                              "type": "string"
                            }
                          },
                          "title": "discounts_data_param",
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The discounts that will apply to the invoice. Pass an empty string to remove previously-defined discounts."
                  },
                  "due_date": {
                    "description": "The date on which payment for this invoice is due. Only valid for invoices where `collection_method=send_invoice`. This field can only be updated on `draft` invoices.",
                    "format": "unix-time",
                    "type": "integer"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "footer": {
                    "description": "Footer to be displayed on the invoice.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "on_behalf_of": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The account (if any) for which the funds of the invoice payment are intended. If set, the invoice will be presented with the branding and support information of the specified account. See the [Invoices with Connect](https://stripe.com/docs/billing/invoices/connect) documentation for details."
                  },
                  "payment_settings": {
                    "description": "Configuration settings for the PaymentIntent that is generated when the invoice is finalized.",
                    "properties": {
                      "payment_method_options": {
                        "properties": {
                          "bancontact": {
                            "anyOf": [
                              {
                                "properties": {
                                  "preferred_language": {
                                    "enum": ["de", "en", "fr", "nl"],
                                    "type": "string"
                                  }
                                },
                                "title": "invoice_payment_method_options_param",
                                "type": "object"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          },
                          "card": {
                            "anyOf": [
                              {
                                "properties": {
                                  "request_three_d_secure": {
                                    "enum": ["any", "automatic"],
                                    "type": "string"
                                  }
                                },
                                "title": "invoice_payment_method_options_param",
                                "type": "object"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          }
                        },
                        "title": "payment_method_options",
                        "type": "object"
                      },
                      "payment_method_types": {
                        "anyOf": [
                          {
                            "items": {
                              "enum": [
                                "ach_credit_transfer",
                                "ach_debit",
                                "au_becs_debit",
                                "bacs_debit",
                                "bancontact",
                                "card",
                                "fpx",
                                "giropay",
                                "ideal",
                                "sepa_debit",
                                "sofort"
                              ],
                              "type": "string",
                              "x-stripeBypassValidation": true
                            },
                            "type": "array"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      }
                    },
                    "title": "payment_settings",
                    "type": "object"
                  },
                  "statement_descriptor": {
                    "description": "Extra information about a charge for the customer's credit card statement. It must contain at least one letter. If not specified and this invoice is part of a subscription, the default `statement_descriptor` will be set to the first subscription item's product's `statement_descriptor`.",
                    "maxLength": 22,
                    "type": "string"
                  },
                  "transfer_data": {
                    "anyOf": [
                      {
                        "properties": {
                          "amount": {
                            "type": "integer"
                          },
                          "destination": {
                            "type": "string"
                          }
                        },
                        "required": ["destination"],
                        "title": "transfer_data_specs",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "If specified, the funds from the invoice will be transferred to the destination and the ID of the resulting transfer will be found on the invoice's charge. This will be unset if you POST an empty value."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/invoices/{invoice}/finalize": {
      "post": {
        "description": "<p>Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you’d like to finalize a draft invoice manually, you can do so using this method.</p>",
        "operationId": "PostInvoicesInvoiceFinalize",
        "parameters": [
          {
            "in": "path",
            "name": "invoice",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "auto_advance": {
                    "description": "Controls whether Stripe will perform [automatic collection](https://stripe.com/docs/billing/invoices/overview#auto-advance) of the invoice. When `false`, the invoice's state will not automatically advance without an explicit action.",
                    "type": "boolean"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/invoices/{invoice}/lines": {
      "get": {
        "description": "<p>When retrieving an invoice, you’ll get a <strong>lines</strong> property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.</p>",
        "operationId": "GetInvoicesInvoiceLines",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "invoice",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/line_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": "InvoiceLinesList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/invoices/{invoice}/mark_uncollectible": {
      "post": {
        "description": "<p>Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes.</p>",
        "operationId": "PostInvoicesInvoiceMarkUncollectible",
        "parameters": [
          {
            "in": "path",
            "name": "invoice",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/invoices/{invoice}/pay": {
      "post": {
        "description": "<p>Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your <a href=\"https://dashboard.stripe.com/account/billing/automatic\">subscriptions settings</a>. However, if you’d like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so.</p>",
        "operationId": "PostInvoicesInvoicePay",
        "parameters": [
          {
            "in": "path",
            "name": "invoice",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "forgive": {
                    "description": "In cases where the source used to pay the invoice has insufficient funds, passing `forgive=true` controls whether a charge should be attempted for the full amount available on the source, up to the amount to fully pay the invoice. This effectively forgives the difference between the amount available on the source and the amount due. \n\nPassing `forgive=false` will fail the charge if the source hasn't been pre-funded with the right amount. An example for this case is with ACH Credit Transfers and wires: if the amount wired is less than the amount due by a small amount, you might want to forgive the difference. Defaults to `false`.",
                    "type": "boolean"
                  },
                  "off_session": {
                    "description": "Indicates if a customer is on or off-session while an invoice payment is attempted. Defaults to `true` (off-session).",
                    "type": "boolean"
                  },
                  "paid_out_of_band": {
                    "description": "Boolean representing whether an invoice is paid outside of Stripe. This will result in no charge being made. Defaults to `false`.",
                    "type": "boolean"
                  },
                  "payment_method": {
                    "description": "A PaymentMethod to be charged. The PaymentMethod must be the ID of a PaymentMethod belonging to the customer associated with the invoice being paid.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "source": {
                    "description": "A payment source to be charged. The source must be the ID of a source belonging to the customer associated with the invoice being paid.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/invoices/{invoice}/send": {
      "post": {
        "description": "<p>Stripe will automatically send invoices to customers according to your <a href=\"https://dashboard.stripe.com/account/billing/automatic\">subscriptions settings</a>. However, if you’d like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email.</p>\n\n<p>Requests made in test-mode result in no emails being sent, despite sending an <code>invoice.sent</code> event.</p>",
        "operationId": "PostInvoicesInvoiceSend",
        "parameters": [
          {
            "in": "path",
            "name": "invoice",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/invoices/{invoice}/void": {
      "post": {
        "description": "<p>Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to <a href=\"#delete_invoice\">deletion</a>, however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.</p>",
        "operationId": "PostInvoicesInvoiceVoid",
        "parameters": [
          {
            "in": "path",
            "name": "invoice",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/invoice"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuer_fraud_records": {
      "get": {
        "deprecated": true,
        "description": "<p>Returns a list of issuer fraud records.</p>",
        "operationId": "GetIssuerFraudRecords",
        "parameters": [
          {
            "description": "Only return issuer fraud records for the charge specified by this charge ID.",
            "in": "query",
            "name": "charge",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/issuer_fraud_record"
                      },
                      "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/issuer_fraud_records",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "RadarIssuerFraudRecordList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuer_fraud_records/{issuer_fraud_record}": {
      "get": {
        "deprecated": true,
        "description": "<p>Retrieves the details of an issuer fraud record that has previously been created. </p>\n\n<p>Please refer to the <a href=\"#issuer_fraud_record_object\">issuer fraud record</a> object reference for more details.</p>",
        "operationId": "GetIssuerFraudRecordsIssuerFraudRecord",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "issuer_fraud_record",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuer_fraud_record"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/authorizations": {
      "get": {
        "description": "<p>Returns a list of Issuing <code>Authorization</code> objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.</p>",
        "operationId": "GetIssuingAuthorizations",
        "parameters": [
          {
            "description": "Only return authorizations that belong to the given card.",
            "in": "query",
            "name": "card",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return authorizations that belong to the given cardholder.",
            "in": "query",
            "name": "cardholder",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return authorizations that were created during the given date interval.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return authorizations with the given status. One of `pending`, `closed`, or `reversed`.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "enum": ["closed", "pending", "reversed"],
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/issuing.authorization"
                      },
                      "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/issuing/authorizations",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/authorizations/{authorization}": {
      "get": {
        "description": "<p>Retrieves an Issuing <code>Authorization</code> object.</p>",
        "operationId": "GetIssuingAuthorizationsAuthorization",
        "parameters": [
          {
            "in": "path",
            "name": "authorization",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.authorization"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified Issuing <code>Authorization</code> object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>",
        "operationId": "PostIssuingAuthorizationsAuthorization",
        "parameters": [
          {
            "in": "path",
            "name": "authorization",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.authorization"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/authorizations/{authorization}/approve": {
      "post": {
        "description": "<p>Approves a pending Issuing <code>Authorization</code> object. This request should be made within the timeout window of the <a href=\"/docs/issuing/controls/real-time-authorizations\">real-time authorization</a> flow.</p>",
        "operationId": "PostIssuingAuthorizationsAuthorizationApprove",
        "parameters": [
          {
            "in": "path",
            "name": "authorization",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "If the authorization's `pending_request.is_amount_controllable` property is `true`, you may provide this value to control how much to hold for the authorization. Must be positive (use [`decline`](https://stripe.com/docs/api/issuing/authorizations/decline) to decline an authorization request).",
                    "type": "integer"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.authorization"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/authorizations/{authorization}/decline": {
      "post": {
        "description": "<p>Declines a pending Issuing <code>Authorization</code> object. This request should be made within the timeout window of the <a href=\"/docs/issuing/controls/real-time-authorizations\">real time authorization</a> flow.</p>",
        "operationId": "PostIssuingAuthorizationsAuthorizationDecline",
        "parameters": [
          {
            "in": "path",
            "name": "authorization",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.authorization"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/cardholders": {
      "get": {
        "description": "<p>Returns a list of Issuing <code>Cardholder</code> objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.</p>",
        "operationId": "GetIssuingCardholders",
        "parameters": [
          {
            "description": "Only return cardholders that were created during the given date interval.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return cardholders that have the given email address.",
            "in": "query",
            "name": "email",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Only return cardholders that have the given phone number.",
            "in": "query",
            "name": "phone_number",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return cardholders that have the given status. One of `active`, `inactive`, or `blocked`.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "enum": ["active", "blocked", "inactive"],
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return cardholders that have the given type. One of `individual` or `company`.",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "enum": ["company", "individual"],
              "type": "string",
              "x-stripeBypassValidation": true
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/issuing.cardholder"
                      },
                      "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/issuing/cardholders",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new Issuing <code>Cardholder</code> object that can be issued cards.</p>",
        "operationId": "PostIssuingCardholders",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "billing": {
                  "explode": true,
                  "style": "deepObject"
                },
                "company": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "individual": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "spending_controls": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "billing": {
                    "description": "The cardholder's billing address.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["city", "country", "line1", "postal_code"],
                        "title": "required_address",
                        "type": "object"
                      }
                    },
                    "required": ["address"],
                    "title": "billing_specs",
                    "type": "object"
                  },
                  "company": {
                    "description": "Additional information about a `company` cardholder.",
                    "properties": {
                      "tax_id": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "company_param",
                    "type": "object"
                  },
                  "email": {
                    "description": "The cardholder's email address.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "individual": {
                    "description": "Additional information about an `individual` cardholder.",
                    "properties": {
                      "dob": {
                        "properties": {
                          "day": {
                            "type": "integer"
                          },
                          "month": {
                            "type": "integer"
                          },
                          "year": {
                            "type": "integer"
                          }
                        },
                        "required": ["day", "month", "year"],
                        "title": "date_of_birth_specs",
                        "type": "object"
                      },
                      "first_name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "last_name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "verification": {
                        "properties": {
                          "document": {
                            "properties": {
                              "back": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "front": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "person_verification_document_param",
                            "type": "object"
                          }
                        },
                        "title": "person_verification_param",
                        "type": "object"
                      }
                    },
                    "required": ["first_name", "last_name"],
                    "title": "individual_param",
                    "type": "object"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "name": {
                    "description": "The cardholder's name. This will be printed on cards issued to them.",
                    "type": "string"
                  },
                  "phone_number": {
                    "description": "The cardholder's phone number. This will be transformed to [E.164](https://en.wikipedia.org/wiki/E.164) if it is not provided in that format already.",
                    "type": "string"
                  },
                  "spending_controls": {
                    "description": "Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details.",
                    "properties": {
                      "allowed_categories": {
                        "items": {
                          "enum": [
                            "ac_refrigeration_repair",
                            "accounting_bookkeeping_services",
                            "advertising_services",
                            "agricultural_cooperative",
                            "airlines_air_carriers",
                            "airports_flying_fields",
                            "ambulance_services",
                            "amusement_parks_carnivals",
                            "antique_reproductions",
                            "antique_shops",
                            "aquariums",
                            "architectural_surveying_services",
                            "art_dealers_and_galleries",
                            "artists_supply_and_craft_shops",
                            "auto_and_home_supply_stores",
                            "auto_body_repair_shops",
                            "auto_paint_shops",
                            "auto_service_shops",
                            "automated_cash_disburse",
                            "automated_fuel_dispensers",
                            "automobile_associations",
                            "automotive_parts_and_accessories_stores",
                            "automotive_tire_stores",
                            "bail_and_bond_payments",
                            "bakeries",
                            "bands_orchestras",
                            "barber_and_beauty_shops",
                            "betting_casino_gambling",
                            "bicycle_shops",
                            "billiard_pool_establishments",
                            "boat_dealers",
                            "boat_rentals_and_leases",
                            "book_stores",
                            "books_periodicals_and_newspapers",
                            "bowling_alleys",
                            "bus_lines",
                            "business_secretarial_schools",
                            "buying_shopping_services",
                            "cable_satellite_and_other_pay_television_and_radio",
                            "camera_and_photographic_supply_stores",
                            "candy_nut_and_confectionery_stores",
                            "car_and_truck_dealers_new_used",
                            "car_and_truck_dealers_used_only",
                            "car_rental_agencies",
                            "car_washes",
                            "carpentry_services",
                            "carpet_upholstery_cleaning",
                            "caterers",
                            "charitable_and_social_service_organizations_fundraising",
                            "chemicals_and_allied_products",
                            "child_care_services",
                            "childrens_and_infants_wear_stores",
                            "chiropodists_podiatrists",
                            "chiropractors",
                            "cigar_stores_and_stands",
                            "civic_social_fraternal_associations",
                            "cleaning_and_maintenance",
                            "clothing_rental",
                            "colleges_universities",
                            "commercial_equipment",
                            "commercial_footwear",
                            "commercial_photography_art_and_graphics",
                            "commuter_transport_and_ferries",
                            "computer_network_services",
                            "computer_programming",
                            "computer_repair",
                            "computer_software_stores",
                            "computers_peripherals_and_software",
                            "concrete_work_services",
                            "construction_materials",
                            "consulting_public_relations",
                            "correspondence_schools",
                            "cosmetic_stores",
                            "counseling_services",
                            "country_clubs",
                            "courier_services",
                            "court_costs",
                            "credit_reporting_agencies",
                            "cruise_lines",
                            "dairy_products_stores",
                            "dance_hall_studios_schools",
                            "dating_escort_services",
                            "dentists_orthodontists",
                            "department_stores",
                            "detective_agencies",
                            "digital_goods_applications",
                            "digital_goods_games",
                            "digital_goods_large_volume",
                            "digital_goods_media",
                            "direct_marketing_catalog_merchant",
                            "direct_marketing_combination_catalog_and_retail_merchant",
                            "direct_marketing_inbound_telemarketing",
                            "direct_marketing_insurance_services",
                            "direct_marketing_other",
                            "direct_marketing_outbound_telemarketing",
                            "direct_marketing_subscription",
                            "direct_marketing_travel",
                            "discount_stores",
                            "doctors",
                            "door_to_door_sales",
                            "drapery_window_covering_and_upholstery_stores",
                            "drinking_places",
                            "drug_stores_and_pharmacies",
                            "drugs_drug_proprietaries_and_druggist_sundries",
                            "dry_cleaners",
                            "durable_goods",
                            "duty_free_stores",
                            "eating_places_restaurants",
                            "educational_services",
                            "electric_razor_stores",
                            "electrical_parts_and_equipment",
                            "electrical_services",
                            "electronics_repair_shops",
                            "electronics_stores",
                            "elementary_secondary_schools",
                            "employment_temp_agencies",
                            "equipment_rental",
                            "exterminating_services",
                            "family_clothing_stores",
                            "fast_food_restaurants",
                            "financial_institutions",
                            "fines_government_administrative_entities",
                            "fireplace_fireplace_screens_and_accessories_stores",
                            "floor_covering_stores",
                            "florists",
                            "florists_supplies_nursery_stock_and_flowers",
                            "freezer_and_locker_meat_provisioners",
                            "fuel_dealers_non_automotive",
                            "funeral_services_crematories",
                            "furniture_home_furnishings_and_equipment_stores_except_appliances",
                            "furniture_repair_refinishing",
                            "furriers_and_fur_shops",
                            "general_services",
                            "gift_card_novelty_and_souvenir_shops",
                            "glass_paint_and_wallpaper_stores",
                            "glassware_crystal_stores",
                            "golf_courses_public",
                            "government_services",
                            "grocery_stores_supermarkets",
                            "hardware_equipment_and_supplies",
                            "hardware_stores",
                            "health_and_beauty_spas",
                            "hearing_aids_sales_and_supplies",
                            "heating_plumbing_a_c",
                            "hobby_toy_and_game_shops",
                            "home_supply_warehouse_stores",
                            "hospitals",
                            "hotels_motels_and_resorts",
                            "household_appliance_stores",
                            "industrial_supplies",
                            "information_retrieval_services",
                            "insurance_default",
                            "insurance_underwriting_premiums",
                            "intra_company_purchases",
                            "jewelry_stores_watches_clocks_and_silverware_stores",
                            "landscaping_services",
                            "laundries",
                            "laundry_cleaning_services",
                            "legal_services_attorneys",
                            "luggage_and_leather_goods_stores",
                            "lumber_building_materials_stores",
                            "manual_cash_disburse",
                            "marinas_service_and_supplies",
                            "masonry_stonework_and_plaster",
                            "massage_parlors",
                            "medical_and_dental_labs",
                            "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                            "medical_services",
                            "membership_organizations",
                            "mens_and_boys_clothing_and_accessories_stores",
                            "mens_womens_clothing_stores",
                            "metal_service_centers",
                            "miscellaneous",
                            "miscellaneous_apparel_and_accessory_shops",
                            "miscellaneous_auto_dealers",
                            "miscellaneous_business_services",
                            "miscellaneous_food_stores",
                            "miscellaneous_general_merchandise",
                            "miscellaneous_general_services",
                            "miscellaneous_home_furnishing_specialty_stores",
                            "miscellaneous_publishing_and_printing",
                            "miscellaneous_recreation_services",
                            "miscellaneous_repair_shops",
                            "miscellaneous_specialty_retail",
                            "mobile_home_dealers",
                            "motion_picture_theaters",
                            "motor_freight_carriers_and_trucking",
                            "motor_homes_dealers",
                            "motor_vehicle_supplies_and_new_parts",
                            "motorcycle_shops_and_dealers",
                            "motorcycle_shops_dealers",
                            "music_stores_musical_instruments_pianos_and_sheet_music",
                            "news_dealers_and_newsstands",
                            "non_fi_money_orders",
                            "non_fi_stored_value_card_purchase_load",
                            "nondurable_goods",
                            "nurseries_lawn_and_garden_supply_stores",
                            "nursing_personal_care",
                            "office_and_commercial_furniture",
                            "opticians_eyeglasses",
                            "optometrists_ophthalmologist",
                            "orthopedic_goods_prosthetic_devices",
                            "osteopaths",
                            "package_stores_beer_wine_and_liquor",
                            "paints_varnishes_and_supplies",
                            "parking_lots_garages",
                            "passenger_railways",
                            "pawn_shops",
                            "pet_shops_pet_food_and_supplies",
                            "petroleum_and_petroleum_products",
                            "photo_developing",
                            "photographic_photocopy_microfilm_equipment_and_supplies",
                            "photographic_studios",
                            "picture_video_production",
                            "piece_goods_notions_and_other_dry_goods",
                            "plumbing_heating_equipment_and_supplies",
                            "political_organizations",
                            "postal_services_government_only",
                            "precious_stones_and_metals_watches_and_jewelry",
                            "professional_services",
                            "public_warehousing_and_storage",
                            "quick_copy_repro_and_blueprint",
                            "railroads",
                            "real_estate_agents_and_managers_rentals",
                            "record_stores",
                            "recreational_vehicle_rentals",
                            "religious_goods_stores",
                            "religious_organizations",
                            "roofing_siding_sheet_metal",
                            "secretarial_support_services",
                            "security_brokers_dealers",
                            "service_stations",
                            "sewing_needlework_fabric_and_piece_goods_stores",
                            "shoe_repair_hat_cleaning",
                            "shoe_stores",
                            "small_appliance_repair",
                            "snowmobile_dealers",
                            "special_trade_services",
                            "specialty_cleaning",
                            "sporting_goods_stores",
                            "sporting_recreation_camps",
                            "sports_and_riding_apparel_stores",
                            "sports_clubs_fields",
                            "stamp_and_coin_stores",
                            "stationary_office_supplies_printing_and_writing_paper",
                            "stationery_stores_office_and_school_supply_stores",
                            "swimming_pools_sales",
                            "t_ui_travel_germany",
                            "tailors_alterations",
                            "tax_payments_government_agencies",
                            "tax_preparation_services",
                            "taxicabs_limousines",
                            "telecommunication_equipment_and_telephone_sales",
                            "telecommunication_services",
                            "telegraph_services",
                            "tent_and_awning_shops",
                            "testing_laboratories",
                            "theatrical_ticket_agencies",
                            "timeshares",
                            "tire_retreading_and_repair",
                            "tolls_bridge_fees",
                            "tourist_attractions_and_exhibits",
                            "towing_services",
                            "trailer_parks_campgrounds",
                            "transportation_services",
                            "travel_agencies_tour_operators",
                            "truck_stop_iteration",
                            "truck_utility_trailer_rentals",
                            "typesetting_plate_making_and_related_services",
                            "typewriter_stores",
                            "u_s_federal_government_agencies_or_departments",
                            "uniforms_commercial_clothing",
                            "used_merchandise_and_secondhand_stores",
                            "utilities",
                            "variety_stores",
                            "veterinary_services",
                            "video_amusement_game_supplies",
                            "video_game_arcades",
                            "video_tape_rental_stores",
                            "vocational_trade_schools",
                            "watch_jewelry_repair",
                            "welding_repair",
                            "wholesale_clubs",
                            "wig_and_toupee_stores",
                            "wires_money_orders",
                            "womens_accessory_and_specialty_shops",
                            "womens_ready_to_wear_stores",
                            "wrecking_and_salvage_yards"
                          ],
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "blocked_categories": {
                        "items": {
                          "enum": [
                            "ac_refrigeration_repair",
                            "accounting_bookkeeping_services",
                            "advertising_services",
                            "agricultural_cooperative",
                            "airlines_air_carriers",
                            "airports_flying_fields",
                            "ambulance_services",
                            "amusement_parks_carnivals",
                            "antique_reproductions",
                            "antique_shops",
                            "aquariums",
                            "architectural_surveying_services",
                            "art_dealers_and_galleries",
                            "artists_supply_and_craft_shops",
                            "auto_and_home_supply_stores",
                            "auto_body_repair_shops",
                            "auto_paint_shops",
                            "auto_service_shops",
                            "automated_cash_disburse",
                            "automated_fuel_dispensers",
                            "automobile_associations",
                            "automotive_parts_and_accessories_stores",
                            "automotive_tire_stores",
                            "bail_and_bond_payments",
                            "bakeries",
                            "bands_orchestras",
                            "barber_and_beauty_shops",
                            "betting_casino_gambling",
                            "bicycle_shops",
                            "billiard_pool_establishments",
                            "boat_dealers",
                            "boat_rentals_and_leases",
                            "book_stores",
                            "books_periodicals_and_newspapers",
                            "bowling_alleys",
                            "bus_lines",
                            "business_secretarial_schools",
                            "buying_shopping_services",
                            "cable_satellite_and_other_pay_television_and_radio",
                            "camera_and_photographic_supply_stores",
                            "candy_nut_and_confectionery_stores",
                            "car_and_truck_dealers_new_used",
                            "car_and_truck_dealers_used_only",
                            "car_rental_agencies",
                            "car_washes",
                            "carpentry_services",
                            "carpet_upholstery_cleaning",
                            "caterers",
                            "charitable_and_social_service_organizations_fundraising",
                            "chemicals_and_allied_products",
                            "child_care_services",
                            "childrens_and_infants_wear_stores",
                            "chiropodists_podiatrists",
                            "chiropractors",
                            "cigar_stores_and_stands",
                            "civic_social_fraternal_associations",
                            "cleaning_and_maintenance",
                            "clothing_rental",
                            "colleges_universities",
                            "commercial_equipment",
                            "commercial_footwear",
                            "commercial_photography_art_and_graphics",
                            "commuter_transport_and_ferries",
                            "computer_network_services",
                            "computer_programming",
                            "computer_repair",
                            "computer_software_stores",
                            "computers_peripherals_and_software",
                            "concrete_work_services",
                            "construction_materials",
                            "consulting_public_relations",
                            "correspondence_schools",
                            "cosmetic_stores",
                            "counseling_services",
                            "country_clubs",
                            "courier_services",
                            "court_costs",
                            "credit_reporting_agencies",
                            "cruise_lines",
                            "dairy_products_stores",
                            "dance_hall_studios_schools",
                            "dating_escort_services",
                            "dentists_orthodontists",
                            "department_stores",
                            "detective_agencies",
                            "digital_goods_applications",
                            "digital_goods_games",
                            "digital_goods_large_volume",
                            "digital_goods_media",
                            "direct_marketing_catalog_merchant",
                            "direct_marketing_combination_catalog_and_retail_merchant",
                            "direct_marketing_inbound_telemarketing",
                            "direct_marketing_insurance_services",
                            "direct_marketing_other",
                            "direct_marketing_outbound_telemarketing",
                            "direct_marketing_subscription",
                            "direct_marketing_travel",
                            "discount_stores",
                            "doctors",
                            "door_to_door_sales",
                            "drapery_window_covering_and_upholstery_stores",
                            "drinking_places",
                            "drug_stores_and_pharmacies",
                            "drugs_drug_proprietaries_and_druggist_sundries",
                            "dry_cleaners",
                            "durable_goods",
                            "duty_free_stores",
                            "eating_places_restaurants",
                            "educational_services",
                            "electric_razor_stores",
                            "electrical_parts_and_equipment",
                            "electrical_services",
                            "electronics_repair_shops",
                            "electronics_stores",
                            "elementary_secondary_schools",
                            "employment_temp_agencies",
                            "equipment_rental",
                            "exterminating_services",
                            "family_clothing_stores",
                            "fast_food_restaurants",
                            "financial_institutions",
                            "fines_government_administrative_entities",
                            "fireplace_fireplace_screens_and_accessories_stores",
                            "floor_covering_stores",
                            "florists",
                            "florists_supplies_nursery_stock_and_flowers",
                            "freezer_and_locker_meat_provisioners",
                            "fuel_dealers_non_automotive",
                            "funeral_services_crematories",
                            "furniture_home_furnishings_and_equipment_stores_except_appliances",
                            "furniture_repair_refinishing",
                            "furriers_and_fur_shops",
                            "general_services",
                            "gift_card_novelty_and_souvenir_shops",
                            "glass_paint_and_wallpaper_stores",
                            "glassware_crystal_stores",
                            "golf_courses_public",
                            "government_services",
                            "grocery_stores_supermarkets",
                            "hardware_equipment_and_supplies",
                            "hardware_stores",
                            "health_and_beauty_spas",
                            "hearing_aids_sales_and_supplies",
                            "heating_plumbing_a_c",
                            "hobby_toy_and_game_shops",
                            "home_supply_warehouse_stores",
                            "hospitals",
                            "hotels_motels_and_resorts",
                            "household_appliance_stores",
                            "industrial_supplies",
                            "information_retrieval_services",
                            "insurance_default",
                            "insurance_underwriting_premiums",
                            "intra_company_purchases",
                            "jewelry_stores_watches_clocks_and_silverware_stores",
                            "landscaping_services",
                            "laundries",
                            "laundry_cleaning_services",
                            "legal_services_attorneys",
                            "luggage_and_leather_goods_stores",
                            "lumber_building_materials_stores",
                            "manual_cash_disburse",
                            "marinas_service_and_supplies",
                            "masonry_stonework_and_plaster",
                            "massage_parlors",
                            "medical_and_dental_labs",
                            "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                            "medical_services",
                            "membership_organizations",
                            "mens_and_boys_clothing_and_accessories_stores",
                            "mens_womens_clothing_stores",
                            "metal_service_centers",
                            "miscellaneous",
                            "miscellaneous_apparel_and_accessory_shops",
                            "miscellaneous_auto_dealers",
                            "miscellaneous_business_services",
                            "miscellaneous_food_stores",
                            "miscellaneous_general_merchandise",
                            "miscellaneous_general_services",
                            "miscellaneous_home_furnishing_specialty_stores",
                            "miscellaneous_publishing_and_printing",
                            "miscellaneous_recreation_services",
                            "miscellaneous_repair_shops",
                            "miscellaneous_specialty_retail",
                            "mobile_home_dealers",
                            "motion_picture_theaters",
                            "motor_freight_carriers_and_trucking",
                            "motor_homes_dealers",
                            "motor_vehicle_supplies_and_new_parts",
                            "motorcycle_shops_and_dealers",
                            "motorcycle_shops_dealers",
                            "music_stores_musical_instruments_pianos_and_sheet_music",
                            "news_dealers_and_newsstands",
                            "non_fi_money_orders",
                            "non_fi_stored_value_card_purchase_load",
                            "nondurable_goods",
                            "nurseries_lawn_and_garden_supply_stores",
                            "nursing_personal_care",
                            "office_and_commercial_furniture",
                            "opticians_eyeglasses",
                            "optometrists_ophthalmologist",
                            "orthopedic_goods_prosthetic_devices",
                            "osteopaths",
                            "package_stores_beer_wine_and_liquor",
                            "paints_varnishes_and_supplies",
                            "parking_lots_garages",
                            "passenger_railways",
                            "pawn_shops",
                            "pet_shops_pet_food_and_supplies",
                            "petroleum_and_petroleum_products",
                            "photo_developing",
                            "photographic_photocopy_microfilm_equipment_and_supplies",
                            "photographic_studios",
                            "picture_video_production",
                            "piece_goods_notions_and_other_dry_goods",
                            "plumbing_heating_equipment_and_supplies",
                            "political_organizations",
                            "postal_services_government_only",
                            "precious_stones_and_metals_watches_and_jewelry",
                            "professional_services",
                            "public_warehousing_and_storage",
                            "quick_copy_repro_and_blueprint",
                            "railroads",
                            "real_estate_agents_and_managers_rentals",
                            "record_stores",
                            "recreational_vehicle_rentals",
                            "religious_goods_stores",
                            "religious_organizations",
                            "roofing_siding_sheet_metal",
                            "secretarial_support_services",
                            "security_brokers_dealers",
                            "service_stations",
                            "sewing_needlework_fabric_and_piece_goods_stores",
                            "shoe_repair_hat_cleaning",
                            "shoe_stores",
                            "small_appliance_repair",
                            "snowmobile_dealers",
                            "special_trade_services",
                            "specialty_cleaning",
                            "sporting_goods_stores",
                            "sporting_recreation_camps",
                            "sports_and_riding_apparel_stores",
                            "sports_clubs_fields",
                            "stamp_and_coin_stores",
                            "stationary_office_supplies_printing_and_writing_paper",
                            "stationery_stores_office_and_school_supply_stores",
                            "swimming_pools_sales",
                            "t_ui_travel_germany",
                            "tailors_alterations",
                            "tax_payments_government_agencies",
                            "tax_preparation_services",
                            "taxicabs_limousines",
                            "telecommunication_equipment_and_telephone_sales",
                            "telecommunication_services",
                            "telegraph_services",
                            "tent_and_awning_shops",
                            "testing_laboratories",
                            "theatrical_ticket_agencies",
                            "timeshares",
                            "tire_retreading_and_repair",
                            "tolls_bridge_fees",
                            "tourist_attractions_and_exhibits",
                            "towing_services",
                            "trailer_parks_campgrounds",
                            "transportation_services",
                            "travel_agencies_tour_operators",
                            "truck_stop_iteration",
                            "truck_utility_trailer_rentals",
                            "typesetting_plate_making_and_related_services",
                            "typewriter_stores",
                            "u_s_federal_government_agencies_or_departments",
                            "uniforms_commercial_clothing",
                            "used_merchandise_and_secondhand_stores",
                            "utilities",
                            "variety_stores",
                            "veterinary_services",
                            "video_amusement_game_supplies",
                            "video_game_arcades",
                            "video_tape_rental_stores",
                            "vocational_trade_schools",
                            "watch_jewelry_repair",
                            "welding_repair",
                            "wholesale_clubs",
                            "wig_and_toupee_stores",
                            "wires_money_orders",
                            "womens_accessory_and_specialty_shops",
                            "womens_ready_to_wear_stores",
                            "wrecking_and_salvage_yards"
                          ],
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "spending_limits": {
                        "items": {
                          "properties": {
                            "amount": {
                              "type": "integer"
                            },
                            "categories": {
                              "items": {
                                "enum": [
                                  "ac_refrigeration_repair",
                                  "accounting_bookkeeping_services",
                                  "advertising_services",
                                  "agricultural_cooperative",
                                  "airlines_air_carriers",
                                  "airports_flying_fields",
                                  "ambulance_services",
                                  "amusement_parks_carnivals",
                                  "antique_reproductions",
                                  "antique_shops",
                                  "aquariums",
                                  "architectural_surveying_services",
                                  "art_dealers_and_galleries",
                                  "artists_supply_and_craft_shops",
                                  "auto_and_home_supply_stores",
                                  "auto_body_repair_shops",
                                  "auto_paint_shops",
                                  "auto_service_shops",
                                  "automated_cash_disburse",
                                  "automated_fuel_dispensers",
                                  "automobile_associations",
                                  "automotive_parts_and_accessories_stores",
                                  "automotive_tire_stores",
                                  "bail_and_bond_payments",
                                  "bakeries",
                                  "bands_orchestras",
                                  "barber_and_beauty_shops",
                                  "betting_casino_gambling",
                                  "bicycle_shops",
                                  "billiard_pool_establishments",
                                  "boat_dealers",
                                  "boat_rentals_and_leases",
                                  "book_stores",
                                  "books_periodicals_and_newspapers",
                                  "bowling_alleys",
                                  "bus_lines",
                                  "business_secretarial_schools",
                                  "buying_shopping_services",
                                  "cable_satellite_and_other_pay_television_and_radio",
                                  "camera_and_photographic_supply_stores",
                                  "candy_nut_and_confectionery_stores",
                                  "car_and_truck_dealers_new_used",
                                  "car_and_truck_dealers_used_only",
                                  "car_rental_agencies",
                                  "car_washes",
                                  "carpentry_services",
                                  "carpet_upholstery_cleaning",
                                  "caterers",
                                  "charitable_and_social_service_organizations_fundraising",
                                  "chemicals_and_allied_products",
                                  "child_care_services",
                                  "childrens_and_infants_wear_stores",
                                  "chiropodists_podiatrists",
                                  "chiropractors",
                                  "cigar_stores_and_stands",
                                  "civic_social_fraternal_associations",
                                  "cleaning_and_maintenance",
                                  "clothing_rental",
                                  "colleges_universities",
                                  "commercial_equipment",
                                  "commercial_footwear",
                                  "commercial_photography_art_and_graphics",
                                  "commuter_transport_and_ferries",
                                  "computer_network_services",
                                  "computer_programming",
                                  "computer_repair",
                                  "computer_software_stores",
                                  "computers_peripherals_and_software",
                                  "concrete_work_services",
                                  "construction_materials",
                                  "consulting_public_relations",
                                  "correspondence_schools",
                                  "cosmetic_stores",
                                  "counseling_services",
                                  "country_clubs",
                                  "courier_services",
                                  "court_costs",
                                  "credit_reporting_agencies",
                                  "cruise_lines",
                                  "dairy_products_stores",
                                  "dance_hall_studios_schools",
                                  "dating_escort_services",
                                  "dentists_orthodontists",
                                  "department_stores",
                                  "detective_agencies",
                                  "digital_goods_applications",
                                  "digital_goods_games",
                                  "digital_goods_large_volume",
                                  "digital_goods_media",
                                  "direct_marketing_catalog_merchant",
                                  "direct_marketing_combination_catalog_and_retail_merchant",
                                  "direct_marketing_inbound_telemarketing",
                                  "direct_marketing_insurance_services",
                                  "direct_marketing_other",
                                  "direct_marketing_outbound_telemarketing",
                                  "direct_marketing_subscription",
                                  "direct_marketing_travel",
                                  "discount_stores",
                                  "doctors",
                                  "door_to_door_sales",
                                  "drapery_window_covering_and_upholstery_stores",
                                  "drinking_places",
                                  "drug_stores_and_pharmacies",
                                  "drugs_drug_proprietaries_and_druggist_sundries",
                                  "dry_cleaners",
                                  "durable_goods",
                                  "duty_free_stores",
                                  "eating_places_restaurants",
                                  "educational_services",
                                  "electric_razor_stores",
                                  "electrical_parts_and_equipment",
                                  "electrical_services",
                                  "electronics_repair_shops",
                                  "electronics_stores",
                                  "elementary_secondary_schools",
                                  "employment_temp_agencies",
                                  "equipment_rental",
                                  "exterminating_services",
                                  "family_clothing_stores",
                                  "fast_food_restaurants",
                                  "financial_institutions",
                                  "fines_government_administrative_entities",
                                  "fireplace_fireplace_screens_and_accessories_stores",
                                  "floor_covering_stores",
                                  "florists",
                                  "florists_supplies_nursery_stock_and_flowers",
                                  "freezer_and_locker_meat_provisioners",
                                  "fuel_dealers_non_automotive",
                                  "funeral_services_crematories",
                                  "furniture_home_furnishings_and_equipment_stores_except_appliances",
                                  "furniture_repair_refinishing",
                                  "furriers_and_fur_shops",
                                  "general_services",
                                  "gift_card_novelty_and_souvenir_shops",
                                  "glass_paint_and_wallpaper_stores",
                                  "glassware_crystal_stores",
                                  "golf_courses_public",
                                  "government_services",
                                  "grocery_stores_supermarkets",
                                  "hardware_equipment_and_supplies",
                                  "hardware_stores",
                                  "health_and_beauty_spas",
                                  "hearing_aids_sales_and_supplies",
                                  "heating_plumbing_a_c",
                                  "hobby_toy_and_game_shops",
                                  "home_supply_warehouse_stores",
                                  "hospitals",
                                  "hotels_motels_and_resorts",
                                  "household_appliance_stores",
                                  "industrial_supplies",
                                  "information_retrieval_services",
                                  "insurance_default",
                                  "insurance_underwriting_premiums",
                                  "intra_company_purchases",
                                  "jewelry_stores_watches_clocks_and_silverware_stores",
                                  "landscaping_services",
                                  "laundries",
                                  "laundry_cleaning_services",
                                  "legal_services_attorneys",
                                  "luggage_and_leather_goods_stores",
                                  "lumber_building_materials_stores",
                                  "manual_cash_disburse",
                                  "marinas_service_and_supplies",
                                  "masonry_stonework_and_plaster",
                                  "massage_parlors",
                                  "medical_and_dental_labs",
                                  "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                                  "medical_services",
                                  "membership_organizations",
                                  "mens_and_boys_clothing_and_accessories_stores",
                                  "mens_womens_clothing_stores",
                                  "metal_service_centers",
                                  "miscellaneous",
                                  "miscellaneous_apparel_and_accessory_shops",
                                  "miscellaneous_auto_dealers",
                                  "miscellaneous_business_services",
                                  "miscellaneous_food_stores",
                                  "miscellaneous_general_merchandise",
                                  "miscellaneous_general_services",
                                  "miscellaneous_home_furnishing_specialty_stores",
                                  "miscellaneous_publishing_and_printing",
                                  "miscellaneous_recreation_services",
                                  "miscellaneous_repair_shops",
                                  "miscellaneous_specialty_retail",
                                  "mobile_home_dealers",
                                  "motion_picture_theaters",
                                  "motor_freight_carriers_and_trucking",
                                  "motor_homes_dealers",
                                  "motor_vehicle_supplies_and_new_parts",
                                  "motorcycle_shops_and_dealers",
                                  "motorcycle_shops_dealers",
                                  "music_stores_musical_instruments_pianos_and_sheet_music",
                                  "news_dealers_and_newsstands",
                                  "non_fi_money_orders",
                                  "non_fi_stored_value_card_purchase_load",
                                  "nondurable_goods",
                                  "nurseries_lawn_and_garden_supply_stores",
                                  "nursing_personal_care",
                                  "office_and_commercial_furniture",
                                  "opticians_eyeglasses",
                                  "optometrists_ophthalmologist",
                                  "orthopedic_goods_prosthetic_devices",
                                  "osteopaths",
                                  "package_stores_beer_wine_and_liquor",
                                  "paints_varnishes_and_supplies",
                                  "parking_lots_garages",
                                  "passenger_railways",
                                  "pawn_shops",
                                  "pet_shops_pet_food_and_supplies",
                                  "petroleum_and_petroleum_products",
                                  "photo_developing",
                                  "photographic_photocopy_microfilm_equipment_and_supplies",
                                  "photographic_studios",
                                  "picture_video_production",
                                  "piece_goods_notions_and_other_dry_goods",
                                  "plumbing_heating_equipment_and_supplies",
                                  "political_organizations",
                                  "postal_services_government_only",
                                  "precious_stones_and_metals_watches_and_jewelry",
                                  "professional_services",
                                  "public_warehousing_and_storage",
                                  "quick_copy_repro_and_blueprint",
                                  "railroads",
                                  "real_estate_agents_and_managers_rentals",
                                  "record_stores",
                                  "recreational_vehicle_rentals",
                                  "religious_goods_stores",
                                  "religious_organizations",
                                  "roofing_siding_sheet_metal",
                                  "secretarial_support_services",
                                  "security_brokers_dealers",
                                  "service_stations",
                                  "sewing_needlework_fabric_and_piece_goods_stores",
                                  "shoe_repair_hat_cleaning",
                                  "shoe_stores",
                                  "small_appliance_repair",
                                  "snowmobile_dealers",
                                  "special_trade_services",
                                  "specialty_cleaning",
                                  "sporting_goods_stores",
                                  "sporting_recreation_camps",
                                  "sports_and_riding_apparel_stores",
                                  "sports_clubs_fields",
                                  "stamp_and_coin_stores",
                                  "stationary_office_supplies_printing_and_writing_paper",
                                  "stationery_stores_office_and_school_supply_stores",
                                  "swimming_pools_sales",
                                  "t_ui_travel_germany",
                                  "tailors_alterations",
                                  "tax_payments_government_agencies",
                                  "tax_preparation_services",
                                  "taxicabs_limousines",
                                  "telecommunication_equipment_and_telephone_sales",
                                  "telecommunication_services",
                                  "telegraph_services",
                                  "tent_and_awning_shops",
                                  "testing_laboratories",
                                  "theatrical_ticket_agencies",
                                  "timeshares",
                                  "tire_retreading_and_repair",
                                  "tolls_bridge_fees",
                                  "tourist_attractions_and_exhibits",
                                  "towing_services",
                                  "trailer_parks_campgrounds",
                                  "transportation_services",
                                  "travel_agencies_tour_operators",
                                  "truck_stop_iteration",
                                  "truck_utility_trailer_rentals",
                                  "typesetting_plate_making_and_related_services",
                                  "typewriter_stores",
                                  "u_s_federal_government_agencies_or_departments",
                                  "uniforms_commercial_clothing",
                                  "used_merchandise_and_secondhand_stores",
                                  "utilities",
                                  "variety_stores",
                                  "veterinary_services",
                                  "video_amusement_game_supplies",
                                  "video_game_arcades",
                                  "video_tape_rental_stores",
                                  "vocational_trade_schools",
                                  "watch_jewelry_repair",
                                  "welding_repair",
                                  "wholesale_clubs",
                                  "wig_and_toupee_stores",
                                  "wires_money_orders",
                                  "womens_accessory_and_specialty_shops",
                                  "womens_ready_to_wear_stores",
                                  "wrecking_and_salvage_yards"
                                ],
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "interval": {
                              "enum": ["all_time", "daily", "monthly", "per_authorization", "weekly", "yearly"],
                              "type": "string"
                            }
                          },
                          "required": ["amount", "interval"],
                          "title": "spending_limits_param",
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "spending_limits_currency": {
                        "type": "string"
                      }
                    },
                    "title": "authorization_controls_param_v2",
                    "type": "object"
                  },
                  "status": {
                    "description": "Specifies whether to permit authorizations on this cardholder's cards. Defaults to `active`.",
                    "enum": ["active", "inactive"],
                    "type": "string"
                  },
                  "type": {
                    "description": "One of `individual` or `company`.",
                    "enum": ["company", "individual"],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  }
                },
                "required": ["billing", "name", "type"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.cardholder"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/cardholders/{cardholder}": {
      "get": {
        "description": "<p>Retrieves an Issuing <code>Cardholder</code> object.</p>",
        "operationId": "GetIssuingCardholdersCardholder",
        "parameters": [
          {
            "in": "path",
            "name": "cardholder",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.cardholder"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified Issuing <code>Cardholder</code> object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>",
        "operationId": "PostIssuingCardholdersCardholder",
        "parameters": [
          {
            "in": "path",
            "name": "cardholder",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "billing": {
                  "explode": true,
                  "style": "deepObject"
                },
                "company": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "individual": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "spending_controls": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "billing": {
                    "description": "The cardholder's billing address.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["city", "country", "line1", "postal_code"],
                        "title": "required_address",
                        "type": "object"
                      }
                    },
                    "required": ["address"],
                    "title": "billing_specs",
                    "type": "object"
                  },
                  "company": {
                    "description": "Additional information about a `company` cardholder.",
                    "properties": {
                      "tax_id": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "company_param",
                    "type": "object"
                  },
                  "email": {
                    "description": "The cardholder's email address.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "individual": {
                    "description": "Additional information about an `individual` cardholder.",
                    "properties": {
                      "dob": {
                        "properties": {
                          "day": {
                            "type": "integer"
                          },
                          "month": {
                            "type": "integer"
                          },
                          "year": {
                            "type": "integer"
                          }
                        },
                        "required": ["day", "month", "year"],
                        "title": "date_of_birth_specs",
                        "type": "object"
                      },
                      "first_name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "last_name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "verification": {
                        "properties": {
                          "document": {
                            "properties": {
                              "back": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "front": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "person_verification_document_param",
                            "type": "object"
                          }
                        },
                        "title": "person_verification_param",
                        "type": "object"
                      }
                    },
                    "required": ["first_name", "last_name"],
                    "title": "individual_param",
                    "type": "object"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "phone_number": {
                    "description": "The cardholder's phone number.",
                    "type": "string"
                  },
                  "spending_controls": {
                    "description": "Rules that control spending across this cardholder's cards. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details.",
                    "properties": {
                      "allowed_categories": {
                        "items": {
                          "enum": [
                            "ac_refrigeration_repair",
                            "accounting_bookkeeping_services",
                            "advertising_services",
                            "agricultural_cooperative",
                            "airlines_air_carriers",
                            "airports_flying_fields",
                            "ambulance_services",
                            "amusement_parks_carnivals",
                            "antique_reproductions",
                            "antique_shops",
                            "aquariums",
                            "architectural_surveying_services",
                            "art_dealers_and_galleries",
                            "artists_supply_and_craft_shops",
                            "auto_and_home_supply_stores",
                            "auto_body_repair_shops",
                            "auto_paint_shops",
                            "auto_service_shops",
                            "automated_cash_disburse",
                            "automated_fuel_dispensers",
                            "automobile_associations",
                            "automotive_parts_and_accessories_stores",
                            "automotive_tire_stores",
                            "bail_and_bond_payments",
                            "bakeries",
                            "bands_orchestras",
                            "barber_and_beauty_shops",
                            "betting_casino_gambling",
                            "bicycle_shops",
                            "billiard_pool_establishments",
                            "boat_dealers",
                            "boat_rentals_and_leases",
                            "book_stores",
                            "books_periodicals_and_newspapers",
                            "bowling_alleys",
                            "bus_lines",
                            "business_secretarial_schools",
                            "buying_shopping_services",
                            "cable_satellite_and_other_pay_television_and_radio",
                            "camera_and_photographic_supply_stores",
                            "candy_nut_and_confectionery_stores",
                            "car_and_truck_dealers_new_used",
                            "car_and_truck_dealers_used_only",
                            "car_rental_agencies",
                            "car_washes",
                            "carpentry_services",
                            "carpet_upholstery_cleaning",
                            "caterers",
                            "charitable_and_social_service_organizations_fundraising",
                            "chemicals_and_allied_products",
                            "child_care_services",
                            "childrens_and_infants_wear_stores",
                            "chiropodists_podiatrists",
                            "chiropractors",
                            "cigar_stores_and_stands",
                            "civic_social_fraternal_associations",
                            "cleaning_and_maintenance",
                            "clothing_rental",
                            "colleges_universities",
                            "commercial_equipment",
                            "commercial_footwear",
                            "commercial_photography_art_and_graphics",
                            "commuter_transport_and_ferries",
                            "computer_network_services",
                            "computer_programming",
                            "computer_repair",
                            "computer_software_stores",
                            "computers_peripherals_and_software",
                            "concrete_work_services",
                            "construction_materials",
                            "consulting_public_relations",
                            "correspondence_schools",
                            "cosmetic_stores",
                            "counseling_services",
                            "country_clubs",
                            "courier_services",
                            "court_costs",
                            "credit_reporting_agencies",
                            "cruise_lines",
                            "dairy_products_stores",
                            "dance_hall_studios_schools",
                            "dating_escort_services",
                            "dentists_orthodontists",
                            "department_stores",
                            "detective_agencies",
                            "digital_goods_applications",
                            "digital_goods_games",
                            "digital_goods_large_volume",
                            "digital_goods_media",
                            "direct_marketing_catalog_merchant",
                            "direct_marketing_combination_catalog_and_retail_merchant",
                            "direct_marketing_inbound_telemarketing",
                            "direct_marketing_insurance_services",
                            "direct_marketing_other",
                            "direct_marketing_outbound_telemarketing",
                            "direct_marketing_subscription",
                            "direct_marketing_travel",
                            "discount_stores",
                            "doctors",
                            "door_to_door_sales",
                            "drapery_window_covering_and_upholstery_stores",
                            "drinking_places",
                            "drug_stores_and_pharmacies",
                            "drugs_drug_proprietaries_and_druggist_sundries",
                            "dry_cleaners",
                            "durable_goods",
                            "duty_free_stores",
                            "eating_places_restaurants",
                            "educational_services",
                            "electric_razor_stores",
                            "electrical_parts_and_equipment",
                            "electrical_services",
                            "electronics_repair_shops",
                            "electronics_stores",
                            "elementary_secondary_schools",
                            "employment_temp_agencies",
                            "equipment_rental",
                            "exterminating_services",
                            "family_clothing_stores",
                            "fast_food_restaurants",
                            "financial_institutions",
                            "fines_government_administrative_entities",
                            "fireplace_fireplace_screens_and_accessories_stores",
                            "floor_covering_stores",
                            "florists",
                            "florists_supplies_nursery_stock_and_flowers",
                            "freezer_and_locker_meat_provisioners",
                            "fuel_dealers_non_automotive",
                            "funeral_services_crematories",
                            "furniture_home_furnishings_and_equipment_stores_except_appliances",
                            "furniture_repair_refinishing",
                            "furriers_and_fur_shops",
                            "general_services",
                            "gift_card_novelty_and_souvenir_shops",
                            "glass_paint_and_wallpaper_stores",
                            "glassware_crystal_stores",
                            "golf_courses_public",
                            "government_services",
                            "grocery_stores_supermarkets",
                            "hardware_equipment_and_supplies",
                            "hardware_stores",
                            "health_and_beauty_spas",
                            "hearing_aids_sales_and_supplies",
                            "heating_plumbing_a_c",
                            "hobby_toy_and_game_shops",
                            "home_supply_warehouse_stores",
                            "hospitals",
                            "hotels_motels_and_resorts",
                            "household_appliance_stores",
                            "industrial_supplies",
                            "information_retrieval_services",
                            "insurance_default",
                            "insurance_underwriting_premiums",
                            "intra_company_purchases",
                            "jewelry_stores_watches_clocks_and_silverware_stores",
                            "landscaping_services",
                            "laundries",
                            "laundry_cleaning_services",
                            "legal_services_attorneys",
                            "luggage_and_leather_goods_stores",
                            "lumber_building_materials_stores",
                            "manual_cash_disburse",
                            "marinas_service_and_supplies",
                            "masonry_stonework_and_plaster",
                            "massage_parlors",
                            "medical_and_dental_labs",
                            "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                            "medical_services",
                            "membership_organizations",
                            "mens_and_boys_clothing_and_accessories_stores",
                            "mens_womens_clothing_stores",
                            "metal_service_centers",
                            "miscellaneous",
                            "miscellaneous_apparel_and_accessory_shops",
                            "miscellaneous_auto_dealers",
                            "miscellaneous_business_services",
                            "miscellaneous_food_stores",
                            "miscellaneous_general_merchandise",
                            "miscellaneous_general_services",
                            "miscellaneous_home_furnishing_specialty_stores",
                            "miscellaneous_publishing_and_printing",
                            "miscellaneous_recreation_services",
                            "miscellaneous_repair_shops",
                            "miscellaneous_specialty_retail",
                            "mobile_home_dealers",
                            "motion_picture_theaters",
                            "motor_freight_carriers_and_trucking",
                            "motor_homes_dealers",
                            "motor_vehicle_supplies_and_new_parts",
                            "motorcycle_shops_and_dealers",
                            "motorcycle_shops_dealers",
                            "music_stores_musical_instruments_pianos_and_sheet_music",
                            "news_dealers_and_newsstands",
                            "non_fi_money_orders",
                            "non_fi_stored_value_card_purchase_load",
                            "nondurable_goods",
                            "nurseries_lawn_and_garden_supply_stores",
                            "nursing_personal_care",
                            "office_and_commercial_furniture",
                            "opticians_eyeglasses",
                            "optometrists_ophthalmologist",
                            "orthopedic_goods_prosthetic_devices",
                            "osteopaths",
                            "package_stores_beer_wine_and_liquor",
                            "paints_varnishes_and_supplies",
                            "parking_lots_garages",
                            "passenger_railways",
                            "pawn_shops",
                            "pet_shops_pet_food_and_supplies",
                            "petroleum_and_petroleum_products",
                            "photo_developing",
                            "photographic_photocopy_microfilm_equipment_and_supplies",
                            "photographic_studios",
                            "picture_video_production",
                            "piece_goods_notions_and_other_dry_goods",
                            "plumbing_heating_equipment_and_supplies",
                            "political_organizations",
                            "postal_services_government_only",
                            "precious_stones_and_metals_watches_and_jewelry",
                            "professional_services",
                            "public_warehousing_and_storage",
                            "quick_copy_repro_and_blueprint",
                            "railroads",
                            "real_estate_agents_and_managers_rentals",
                            "record_stores",
                            "recreational_vehicle_rentals",
                            "religious_goods_stores",
                            "religious_organizations",
                            "roofing_siding_sheet_metal",
                            "secretarial_support_services",
                            "security_brokers_dealers",
                            "service_stations",
                            "sewing_needlework_fabric_and_piece_goods_stores",
                            "shoe_repair_hat_cleaning",
                            "shoe_stores",
                            "small_appliance_repair",
                            "snowmobile_dealers",
                            "special_trade_services",
                            "specialty_cleaning",
                            "sporting_goods_stores",
                            "sporting_recreation_camps",
                            "sports_and_riding_apparel_stores",
                            "sports_clubs_fields",
                            "stamp_and_coin_stores",
                            "stationary_office_supplies_printing_and_writing_paper",
                            "stationery_stores_office_and_school_supply_stores",
                            "swimming_pools_sales",
                            "t_ui_travel_germany",
                            "tailors_alterations",
                            "tax_payments_government_agencies",
                            "tax_preparation_services",
                            "taxicabs_limousines",
                            "telecommunication_equipment_and_telephone_sales",
                            "telecommunication_services",
                            "telegraph_services",
                            "tent_and_awning_shops",
                            "testing_laboratories",
                            "theatrical_ticket_agencies",
                            "timeshares",
                            "tire_retreading_and_repair",
                            "tolls_bridge_fees",
                            "tourist_attractions_and_exhibits",
                            "towing_services",
                            "trailer_parks_campgrounds",
                            "transportation_services",
                            "travel_agencies_tour_operators",
                            "truck_stop_iteration",
                            "truck_utility_trailer_rentals",
                            "typesetting_plate_making_and_related_services",
                            "typewriter_stores",
                            "u_s_federal_government_agencies_or_departments",
                            "uniforms_commercial_clothing",
                            "used_merchandise_and_secondhand_stores",
                            "utilities",
                            "variety_stores",
                            "veterinary_services",
                            "video_amusement_game_supplies",
                            "video_game_arcades",
                            "video_tape_rental_stores",
                            "vocational_trade_schools",
                            "watch_jewelry_repair",
                            "welding_repair",
                            "wholesale_clubs",
                            "wig_and_toupee_stores",
                            "wires_money_orders",
                            "womens_accessory_and_specialty_shops",
                            "womens_ready_to_wear_stores",
                            "wrecking_and_salvage_yards"
                          ],
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "blocked_categories": {
                        "items": {
                          "enum": [
                            "ac_refrigeration_repair",
                            "accounting_bookkeeping_services",
                            "advertising_services",
                            "agricultural_cooperative",
                            "airlines_air_carriers",
                            "airports_flying_fields",
                            "ambulance_services",
                            "amusement_parks_carnivals",
                            "antique_reproductions",
                            "antique_shops",
                            "aquariums",
                            "architectural_surveying_services",
                            "art_dealers_and_galleries",
                            "artists_supply_and_craft_shops",
                            "auto_and_home_supply_stores",
                            "auto_body_repair_shops",
                            "auto_paint_shops",
                            "auto_service_shops",
                            "automated_cash_disburse",
                            "automated_fuel_dispensers",
                            "automobile_associations",
                            "automotive_parts_and_accessories_stores",
                            "automotive_tire_stores",
                            "bail_and_bond_payments",
                            "bakeries",
                            "bands_orchestras",
                            "barber_and_beauty_shops",
                            "betting_casino_gambling",
                            "bicycle_shops",
                            "billiard_pool_establishments",
                            "boat_dealers",
                            "boat_rentals_and_leases",
                            "book_stores",
                            "books_periodicals_and_newspapers",
                            "bowling_alleys",
                            "bus_lines",
                            "business_secretarial_schools",
                            "buying_shopping_services",
                            "cable_satellite_and_other_pay_television_and_radio",
                            "camera_and_photographic_supply_stores",
                            "candy_nut_and_confectionery_stores",
                            "car_and_truck_dealers_new_used",
                            "car_and_truck_dealers_used_only",
                            "car_rental_agencies",
                            "car_washes",
                            "carpentry_services",
                            "carpet_upholstery_cleaning",
                            "caterers",
                            "charitable_and_social_service_organizations_fundraising",
                            "chemicals_and_allied_products",
                            "child_care_services",
                            "childrens_and_infants_wear_stores",
                            "chiropodists_podiatrists",
                            "chiropractors",
                            "cigar_stores_and_stands",
                            "civic_social_fraternal_associations",
                            "cleaning_and_maintenance",
                            "clothing_rental",
                            "colleges_universities",
                            "commercial_equipment",
                            "commercial_footwear",
                            "commercial_photography_art_and_graphics",
                            "commuter_transport_and_ferries",
                            "computer_network_services",
                            "computer_programming",
                            "computer_repair",
                            "computer_software_stores",
                            "computers_peripherals_and_software",
                            "concrete_work_services",
                            "construction_materials",
                            "consulting_public_relations",
                            "correspondence_schools",
                            "cosmetic_stores",
                            "counseling_services",
                            "country_clubs",
                            "courier_services",
                            "court_costs",
                            "credit_reporting_agencies",
                            "cruise_lines",
                            "dairy_products_stores",
                            "dance_hall_studios_schools",
                            "dating_escort_services",
                            "dentists_orthodontists",
                            "department_stores",
                            "detective_agencies",
                            "digital_goods_applications",
                            "digital_goods_games",
                            "digital_goods_large_volume",
                            "digital_goods_media",
                            "direct_marketing_catalog_merchant",
                            "direct_marketing_combination_catalog_and_retail_merchant",
                            "direct_marketing_inbound_telemarketing",
                            "direct_marketing_insurance_services",
                            "direct_marketing_other",
                            "direct_marketing_outbound_telemarketing",
                            "direct_marketing_subscription",
                            "direct_marketing_travel",
                            "discount_stores",
                            "doctors",
                            "door_to_door_sales",
                            "drapery_window_covering_and_upholstery_stores",
                            "drinking_places",
                            "drug_stores_and_pharmacies",
                            "drugs_drug_proprietaries_and_druggist_sundries",
                            "dry_cleaners",
                            "durable_goods",
                            "duty_free_stores",
                            "eating_places_restaurants",
                            "educational_services",
                            "electric_razor_stores",
                            "electrical_parts_and_equipment",
                            "electrical_services",
                            "electronics_repair_shops",
                            "electronics_stores",
                            "elementary_secondary_schools",
                            "employment_temp_agencies",
                            "equipment_rental",
                            "exterminating_services",
                            "family_clothing_stores",
                            "fast_food_restaurants",
                            "financial_institutions",
                            "fines_government_administrative_entities",
                            "fireplace_fireplace_screens_and_accessories_stores",
                            "floor_covering_stores",
                            "florists",
                            "florists_supplies_nursery_stock_and_flowers",
                            "freezer_and_locker_meat_provisioners",
                            "fuel_dealers_non_automotive",
                            "funeral_services_crematories",
                            "furniture_home_furnishings_and_equipment_stores_except_appliances",
                            "furniture_repair_refinishing",
                            "furriers_and_fur_shops",
                            "general_services",
                            "gift_card_novelty_and_souvenir_shops",
                            "glass_paint_and_wallpaper_stores",
                            "glassware_crystal_stores",
                            "golf_courses_public",
                            "government_services",
                            "grocery_stores_supermarkets",
                            "hardware_equipment_and_supplies",
                            "hardware_stores",
                            "health_and_beauty_spas",
                            "hearing_aids_sales_and_supplies",
                            "heating_plumbing_a_c",
                            "hobby_toy_and_game_shops",
                            "home_supply_warehouse_stores",
                            "hospitals",
                            "hotels_motels_and_resorts",
                            "household_appliance_stores",
                            "industrial_supplies",
                            "information_retrieval_services",
                            "insurance_default",
                            "insurance_underwriting_premiums",
                            "intra_company_purchases",
                            "jewelry_stores_watches_clocks_and_silverware_stores",
                            "landscaping_services",
                            "laundries",
                            "laundry_cleaning_services",
                            "legal_services_attorneys",
                            "luggage_and_leather_goods_stores",
                            "lumber_building_materials_stores",
                            "manual_cash_disburse",
                            "marinas_service_and_supplies",
                            "masonry_stonework_and_plaster",
                            "massage_parlors",
                            "medical_and_dental_labs",
                            "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                            "medical_services",
                            "membership_organizations",
                            "mens_and_boys_clothing_and_accessories_stores",
                            "mens_womens_clothing_stores",
                            "metal_service_centers",
                            "miscellaneous",
                            "miscellaneous_apparel_and_accessory_shops",
                            "miscellaneous_auto_dealers",
                            "miscellaneous_business_services",
                            "miscellaneous_food_stores",
                            "miscellaneous_general_merchandise",
                            "miscellaneous_general_services",
                            "miscellaneous_home_furnishing_specialty_stores",
                            "miscellaneous_publishing_and_printing",
                            "miscellaneous_recreation_services",
                            "miscellaneous_repair_shops",
                            "miscellaneous_specialty_retail",
                            "mobile_home_dealers",
                            "motion_picture_theaters",
                            "motor_freight_carriers_and_trucking",
                            "motor_homes_dealers",
                            "motor_vehicle_supplies_and_new_parts",
                            "motorcycle_shops_and_dealers",
                            "motorcycle_shops_dealers",
                            "music_stores_musical_instruments_pianos_and_sheet_music",
                            "news_dealers_and_newsstands",
                            "non_fi_money_orders",
                            "non_fi_stored_value_card_purchase_load",
                            "nondurable_goods",
                            "nurseries_lawn_and_garden_supply_stores",
                            "nursing_personal_care",
                            "office_and_commercial_furniture",
                            "opticians_eyeglasses",
                            "optometrists_ophthalmologist",
                            "orthopedic_goods_prosthetic_devices",
                            "osteopaths",
                            "package_stores_beer_wine_and_liquor",
                            "paints_varnishes_and_supplies",
                            "parking_lots_garages",
                            "passenger_railways",
                            "pawn_shops",
                            "pet_shops_pet_food_and_supplies",
                            "petroleum_and_petroleum_products",
                            "photo_developing",
                            "photographic_photocopy_microfilm_equipment_and_supplies",
                            "photographic_studios",
                            "picture_video_production",
                            "piece_goods_notions_and_other_dry_goods",
                            "plumbing_heating_equipment_and_supplies",
                            "political_organizations",
                            "postal_services_government_only",
                            "precious_stones_and_metals_watches_and_jewelry",
                            "professional_services",
                            "public_warehousing_and_storage",
                            "quick_copy_repro_and_blueprint",
                            "railroads",
                            "real_estate_agents_and_managers_rentals",
                            "record_stores",
                            "recreational_vehicle_rentals",
                            "religious_goods_stores",
                            "religious_organizations",
                            "roofing_siding_sheet_metal",
                            "secretarial_support_services",
                            "security_brokers_dealers",
                            "service_stations",
                            "sewing_needlework_fabric_and_piece_goods_stores",
                            "shoe_repair_hat_cleaning",
                            "shoe_stores",
                            "small_appliance_repair",
                            "snowmobile_dealers",
                            "special_trade_services",
                            "specialty_cleaning",
                            "sporting_goods_stores",
                            "sporting_recreation_camps",
                            "sports_and_riding_apparel_stores",
                            "sports_clubs_fields",
                            "stamp_and_coin_stores",
                            "stationary_office_supplies_printing_and_writing_paper",
                            "stationery_stores_office_and_school_supply_stores",
                            "swimming_pools_sales",
                            "t_ui_travel_germany",
                            "tailors_alterations",
                            "tax_payments_government_agencies",
                            "tax_preparation_services",
                            "taxicabs_limousines",
                            "telecommunication_equipment_and_telephone_sales",
                            "telecommunication_services",
                            "telegraph_services",
                            "tent_and_awning_shops",
                            "testing_laboratories",
                            "theatrical_ticket_agencies",
                            "timeshares",
                            "tire_retreading_and_repair",
                            "tolls_bridge_fees",
                            "tourist_attractions_and_exhibits",
                            "towing_services",
                            "trailer_parks_campgrounds",
                            "transportation_services",
                            "travel_agencies_tour_operators",
                            "truck_stop_iteration",
                            "truck_utility_trailer_rentals",
                            "typesetting_plate_making_and_related_services",
                            "typewriter_stores",
                            "u_s_federal_government_agencies_or_departments",
                            "uniforms_commercial_clothing",
                            "used_merchandise_and_secondhand_stores",
                            "utilities",
                            "variety_stores",
                            "veterinary_services",
                            "video_amusement_game_supplies",
                            "video_game_arcades",
                            "video_tape_rental_stores",
                            "vocational_trade_schools",
                            "watch_jewelry_repair",
                            "welding_repair",
                            "wholesale_clubs",
                            "wig_and_toupee_stores",
                            "wires_money_orders",
                            "womens_accessory_and_specialty_shops",
                            "womens_ready_to_wear_stores",
                            "wrecking_and_salvage_yards"
                          ],
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "spending_limits": {
                        "items": {
                          "properties": {
                            "amount": {
                              "type": "integer"
                            },
                            "categories": {
                              "items": {
                                "enum": [
                                  "ac_refrigeration_repair",
                                  "accounting_bookkeeping_services",
                                  "advertising_services",
                                  "agricultural_cooperative",
                                  "airlines_air_carriers",
                                  "airports_flying_fields",
                                  "ambulance_services",
                                  "amusement_parks_carnivals",
                                  "antique_reproductions",
                                  "antique_shops",
                                  "aquariums",
                                  "architectural_surveying_services",
                                  "art_dealers_and_galleries",
                                  "artists_supply_and_craft_shops",
                                  "auto_and_home_supply_stores",
                                  "auto_body_repair_shops",
                                  "auto_paint_shops",
                                  "auto_service_shops",
                                  "automated_cash_disburse",
                                  "automated_fuel_dispensers",
                                  "automobile_associations",
                                  "automotive_parts_and_accessories_stores",
                                  "automotive_tire_stores",
                                  "bail_and_bond_payments",
                                  "bakeries",
                                  "bands_orchestras",
                                  "barber_and_beauty_shops",
                                  "betting_casino_gambling",
                                  "bicycle_shops",
                                  "billiard_pool_establishments",
                                  "boat_dealers",
                                  "boat_rentals_and_leases",
                                  "book_stores",
                                  "books_periodicals_and_newspapers",
                                  "bowling_alleys",
                                  "bus_lines",
                                  "business_secretarial_schools",
                                  "buying_shopping_services",
                                  "cable_satellite_and_other_pay_television_and_radio",
                                  "camera_and_photographic_supply_stores",
                                  "candy_nut_and_confectionery_stores",
                                  "car_and_truck_dealers_new_used",
                                  "car_and_truck_dealers_used_only",
                                  "car_rental_agencies",
                                  "car_washes",
                                  "carpentry_services",
                                  "carpet_upholstery_cleaning",
                                  "caterers",
                                  "charitable_and_social_service_organizations_fundraising",
                                  "chemicals_and_allied_products",
                                  "child_care_services",
                                  "childrens_and_infants_wear_stores",
                                  "chiropodists_podiatrists",
                                  "chiropractors",
                                  "cigar_stores_and_stands",
                                  "civic_social_fraternal_associations",
                                  "cleaning_and_maintenance",
                                  "clothing_rental",
                                  "colleges_universities",
                                  "commercial_equipment",
                                  "commercial_footwear",
                                  "commercial_photography_art_and_graphics",
                                  "commuter_transport_and_ferries",
                                  "computer_network_services",
                                  "computer_programming",
                                  "computer_repair",
                                  "computer_software_stores",
                                  "computers_peripherals_and_software",
                                  "concrete_work_services",
                                  "construction_materials",
                                  "consulting_public_relations",
                                  "correspondence_schools",
                                  "cosmetic_stores",
                                  "counseling_services",
                                  "country_clubs",
                                  "courier_services",
                                  "court_costs",
                                  "credit_reporting_agencies",
                                  "cruise_lines",
                                  "dairy_products_stores",
                                  "dance_hall_studios_schools",
                                  "dating_escort_services",
                                  "dentists_orthodontists",
                                  "department_stores",
                                  "detective_agencies",
                                  "digital_goods_applications",
                                  "digital_goods_games",
                                  "digital_goods_large_volume",
                                  "digital_goods_media",
                                  "direct_marketing_catalog_merchant",
                                  "direct_marketing_combination_catalog_and_retail_merchant",
                                  "direct_marketing_inbound_telemarketing",
                                  "direct_marketing_insurance_services",
                                  "direct_marketing_other",
                                  "direct_marketing_outbound_telemarketing",
                                  "direct_marketing_subscription",
                                  "direct_marketing_travel",
                                  "discount_stores",
                                  "doctors",
                                  "door_to_door_sales",
                                  "drapery_window_covering_and_upholstery_stores",
                                  "drinking_places",
                                  "drug_stores_and_pharmacies",
                                  "drugs_drug_proprietaries_and_druggist_sundries",
                                  "dry_cleaners",
                                  "durable_goods",
                                  "duty_free_stores",
                                  "eating_places_restaurants",
                                  "educational_services",
                                  "electric_razor_stores",
                                  "electrical_parts_and_equipment",
                                  "electrical_services",
                                  "electronics_repair_shops",
                                  "electronics_stores",
                                  "elementary_secondary_schools",
                                  "employment_temp_agencies",
                                  "equipment_rental",
                                  "exterminating_services",
                                  "family_clothing_stores",
                                  "fast_food_restaurants",
                                  "financial_institutions",
                                  "fines_government_administrative_entities",
                                  "fireplace_fireplace_screens_and_accessories_stores",
                                  "floor_covering_stores",
                                  "florists",
                                  "florists_supplies_nursery_stock_and_flowers",
                                  "freezer_and_locker_meat_provisioners",
                                  "fuel_dealers_non_automotive",
                                  "funeral_services_crematories",
                                  "furniture_home_furnishings_and_equipment_stores_except_appliances",
                                  "furniture_repair_refinishing",
                                  "furriers_and_fur_shops",
                                  "general_services",
                                  "gift_card_novelty_and_souvenir_shops",
                                  "glass_paint_and_wallpaper_stores",
                                  "glassware_crystal_stores",
                                  "golf_courses_public",
                                  "government_services",
                                  "grocery_stores_supermarkets",
                                  "hardware_equipment_and_supplies",
                                  "hardware_stores",
                                  "health_and_beauty_spas",
                                  "hearing_aids_sales_and_supplies",
                                  "heating_plumbing_a_c",
                                  "hobby_toy_and_game_shops",
                                  "home_supply_warehouse_stores",
                                  "hospitals",
                                  "hotels_motels_and_resorts",
                                  "household_appliance_stores",
                                  "industrial_supplies",
                                  "information_retrieval_services",
                                  "insurance_default",
                                  "insurance_underwriting_premiums",
                                  "intra_company_purchases",
                                  "jewelry_stores_watches_clocks_and_silverware_stores",
                                  "landscaping_services",
                                  "laundries",
                                  "laundry_cleaning_services",
                                  "legal_services_attorneys",
                                  "luggage_and_leather_goods_stores",
                                  "lumber_building_materials_stores",
                                  "manual_cash_disburse",
                                  "marinas_service_and_supplies",
                                  "masonry_stonework_and_plaster",
                                  "massage_parlors",
                                  "medical_and_dental_labs",
                                  "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                                  "medical_services",
                                  "membership_organizations",
                                  "mens_and_boys_clothing_and_accessories_stores",
                                  "mens_womens_clothing_stores",
                                  "metal_service_centers",
                                  "miscellaneous",
                                  "miscellaneous_apparel_and_accessory_shops",
                                  "miscellaneous_auto_dealers",
                                  "miscellaneous_business_services",
                                  "miscellaneous_food_stores",
                                  "miscellaneous_general_merchandise",
                                  "miscellaneous_general_services",
                                  "miscellaneous_home_furnishing_specialty_stores",
                                  "miscellaneous_publishing_and_printing",
                                  "miscellaneous_recreation_services",
                                  "miscellaneous_repair_shops",
                                  "miscellaneous_specialty_retail",
                                  "mobile_home_dealers",
                                  "motion_picture_theaters",
                                  "motor_freight_carriers_and_trucking",
                                  "motor_homes_dealers",
                                  "motor_vehicle_supplies_and_new_parts",
                                  "motorcycle_shops_and_dealers",
                                  "motorcycle_shops_dealers",
                                  "music_stores_musical_instruments_pianos_and_sheet_music",
                                  "news_dealers_and_newsstands",
                                  "non_fi_money_orders",
                                  "non_fi_stored_value_card_purchase_load",
                                  "nondurable_goods",
                                  "nurseries_lawn_and_garden_supply_stores",
                                  "nursing_personal_care",
                                  "office_and_commercial_furniture",
                                  "opticians_eyeglasses",
                                  "optometrists_ophthalmologist",
                                  "orthopedic_goods_prosthetic_devices",
                                  "osteopaths",
                                  "package_stores_beer_wine_and_liquor",
                                  "paints_varnishes_and_supplies",
                                  "parking_lots_garages",
                                  "passenger_railways",
                                  "pawn_shops",
                                  "pet_shops_pet_food_and_supplies",
                                  "petroleum_and_petroleum_products",
                                  "photo_developing",
                                  "photographic_photocopy_microfilm_equipment_and_supplies",
                                  "photographic_studios",
                                  "picture_video_production",
                                  "piece_goods_notions_and_other_dry_goods",
                                  "plumbing_heating_equipment_and_supplies",
                                  "political_organizations",
                                  "postal_services_government_only",
                                  "precious_stones_and_metals_watches_and_jewelry",
                                  "professional_services",
                                  "public_warehousing_and_storage",
                                  "quick_copy_repro_and_blueprint",
                                  "railroads",
                                  "real_estate_agents_and_managers_rentals",
                                  "record_stores",
                                  "recreational_vehicle_rentals",
                                  "religious_goods_stores",
                                  "religious_organizations",
                                  "roofing_siding_sheet_metal",
                                  "secretarial_support_services",
                                  "security_brokers_dealers",
                                  "service_stations",
                                  "sewing_needlework_fabric_and_piece_goods_stores",
                                  "shoe_repair_hat_cleaning",
                                  "shoe_stores",
                                  "small_appliance_repair",
                                  "snowmobile_dealers",
                                  "special_trade_services",
                                  "specialty_cleaning",
                                  "sporting_goods_stores",
                                  "sporting_recreation_camps",
                                  "sports_and_riding_apparel_stores",
                                  "sports_clubs_fields",
                                  "stamp_and_coin_stores",
                                  "stationary_office_supplies_printing_and_writing_paper",
                                  "stationery_stores_office_and_school_supply_stores",
                                  "swimming_pools_sales",
                                  "t_ui_travel_germany",
                                  "tailors_alterations",
                                  "tax_payments_government_agencies",
                                  "tax_preparation_services",
                                  "taxicabs_limousines",
                                  "telecommunication_equipment_and_telephone_sales",
                                  "telecommunication_services",
                                  "telegraph_services",
                                  "tent_and_awning_shops",
                                  "testing_laboratories",
                                  "theatrical_ticket_agencies",
                                  "timeshares",
                                  "tire_retreading_and_repair",
                                  "tolls_bridge_fees",
                                  "tourist_attractions_and_exhibits",
                                  "towing_services",
                                  "trailer_parks_campgrounds",
                                  "transportation_services",
                                  "travel_agencies_tour_operators",
                                  "truck_stop_iteration",
                                  "truck_utility_trailer_rentals",
                                  "typesetting_plate_making_and_related_services",
                                  "typewriter_stores",
                                  "u_s_federal_government_agencies_or_departments",
                                  "uniforms_commercial_clothing",
                                  "used_merchandise_and_secondhand_stores",
                                  "utilities",
                                  "variety_stores",
                                  "veterinary_services",
                                  "video_amusement_game_supplies",
                                  "video_game_arcades",
                                  "video_tape_rental_stores",
                                  "vocational_trade_schools",
                                  "watch_jewelry_repair",
                                  "welding_repair",
                                  "wholesale_clubs",
                                  "wig_and_toupee_stores",
                                  "wires_money_orders",
                                  "womens_accessory_and_specialty_shops",
                                  "womens_ready_to_wear_stores",
                                  "wrecking_and_salvage_yards"
                                ],
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "interval": {
                              "enum": ["all_time", "daily", "monthly", "per_authorization", "weekly", "yearly"],
                              "type": "string"
                            }
                          },
                          "required": ["amount", "interval"],
                          "title": "spending_limits_param",
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "spending_limits_currency": {
                        "type": "string"
                      }
                    },
                    "title": "authorization_controls_param_v2",
                    "type": "object"
                  },
                  "status": {
                    "description": "Specifies whether to permit authorizations on this cardholder's cards.",
                    "enum": ["active", "inactive"],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.cardholder"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/cards": {
      "get": {
        "description": "<p>Returns a list of Issuing <code>Card</code> objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.</p>",
        "operationId": "GetIssuingCards",
        "parameters": [
          {
            "description": "Only return cards belonging to the Cardholder with the provided ID.",
            "in": "query",
            "name": "cardholder",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return cards that were issued during the given date interval.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return cards that have the given expiration month.",
            "in": "query",
            "name": "exp_month",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Only return cards that have the given expiration year.",
            "in": "query",
            "name": "exp_year",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "Only return cards that have the given last four digits.",
            "in": "query",
            "name": "last4",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return cards that have the given status. One of `active`, `inactive`, or `canceled`.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "enum": ["active", "canceled", "inactive"],
              "type": "string",
              "x-stripeBypassValidation": true
            },
            "style": "form"
          },
          {
            "description": "Only return cards that have the given type. One of `virtual` or `physical`.",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "enum": ["physical", "virtual"],
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/issuing.card"
                      },
                      "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/issuing/cards",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates an Issuing <code>Card</code> object.</p>",
        "operationId": "PostIssuingCards",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "shipping": {
                  "explode": true,
                  "style": "deepObject"
                },
                "spending_controls": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "cardholder": {
                    "description": "The [Cardholder](https://stripe.com/docs/api#issuing_cardholder_object) object with which the card will be associated.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "currency": {
                    "description": "The currency for the card. This currently must be `usd`.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "replacement_for": {
                    "description": "The card this is meant to be a replacement for (if any).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "replacement_reason": {
                    "description": "If `replacement_for` is specified, this should indicate why that card is being replaced.",
                    "enum": ["damaged", "expired", "lost", "stolen"],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "shipping": {
                    "description": "The address where the card will be shipped.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["city", "country", "line1", "postal_code"],
                        "title": "required_address",
                        "type": "object"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "service": {
                        "enum": ["express", "priority", "standard"],
                        "type": "string",
                        "x-stripeBypassValidation": true
                      },
                      "type": {
                        "enum": ["bulk", "individual"],
                        "type": "string"
                      }
                    },
                    "required": ["address", "name"],
                    "title": "shipping_specs",
                    "type": "object"
                  },
                  "spending_controls": {
                    "description": "Rules that control spending for this card. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details.",
                    "properties": {
                      "allowed_categories": {
                        "items": {
                          "enum": [
                            "ac_refrigeration_repair",
                            "accounting_bookkeeping_services",
                            "advertising_services",
                            "agricultural_cooperative",
                            "airlines_air_carriers",
                            "airports_flying_fields",
                            "ambulance_services",
                            "amusement_parks_carnivals",
                            "antique_reproductions",
                            "antique_shops",
                            "aquariums",
                            "architectural_surveying_services",
                            "art_dealers_and_galleries",
                            "artists_supply_and_craft_shops",
                            "auto_and_home_supply_stores",
                            "auto_body_repair_shops",
                            "auto_paint_shops",
                            "auto_service_shops",
                            "automated_cash_disburse",
                            "automated_fuel_dispensers",
                            "automobile_associations",
                            "automotive_parts_and_accessories_stores",
                            "automotive_tire_stores",
                            "bail_and_bond_payments",
                            "bakeries",
                            "bands_orchestras",
                            "barber_and_beauty_shops",
                            "betting_casino_gambling",
                            "bicycle_shops",
                            "billiard_pool_establishments",
                            "boat_dealers",
                            "boat_rentals_and_leases",
                            "book_stores",
                            "books_periodicals_and_newspapers",
                            "bowling_alleys",
                            "bus_lines",
                            "business_secretarial_schools",
                            "buying_shopping_services",
                            "cable_satellite_and_other_pay_television_and_radio",
                            "camera_and_photographic_supply_stores",
                            "candy_nut_and_confectionery_stores",
                            "car_and_truck_dealers_new_used",
                            "car_and_truck_dealers_used_only",
                            "car_rental_agencies",
                            "car_washes",
                            "carpentry_services",
                            "carpet_upholstery_cleaning",
                            "caterers",
                            "charitable_and_social_service_organizations_fundraising",
                            "chemicals_and_allied_products",
                            "child_care_services",
                            "childrens_and_infants_wear_stores",
                            "chiropodists_podiatrists",
                            "chiropractors",
                            "cigar_stores_and_stands",
                            "civic_social_fraternal_associations",
                            "cleaning_and_maintenance",
                            "clothing_rental",
                            "colleges_universities",
                            "commercial_equipment",
                            "commercial_footwear",
                            "commercial_photography_art_and_graphics",
                            "commuter_transport_and_ferries",
                            "computer_network_services",
                            "computer_programming",
                            "computer_repair",
                            "computer_software_stores",
                            "computers_peripherals_and_software",
                            "concrete_work_services",
                            "construction_materials",
                            "consulting_public_relations",
                            "correspondence_schools",
                            "cosmetic_stores",
                            "counseling_services",
                            "country_clubs",
                            "courier_services",
                            "court_costs",
                            "credit_reporting_agencies",
                            "cruise_lines",
                            "dairy_products_stores",
                            "dance_hall_studios_schools",
                            "dating_escort_services",
                            "dentists_orthodontists",
                            "department_stores",
                            "detective_agencies",
                            "digital_goods_applications",
                            "digital_goods_games",
                            "digital_goods_large_volume",
                            "digital_goods_media",
                            "direct_marketing_catalog_merchant",
                            "direct_marketing_combination_catalog_and_retail_merchant",
                            "direct_marketing_inbound_telemarketing",
                            "direct_marketing_insurance_services",
                            "direct_marketing_other",
                            "direct_marketing_outbound_telemarketing",
                            "direct_marketing_subscription",
                            "direct_marketing_travel",
                            "discount_stores",
                            "doctors",
                            "door_to_door_sales",
                            "drapery_window_covering_and_upholstery_stores",
                            "drinking_places",
                            "drug_stores_and_pharmacies",
                            "drugs_drug_proprietaries_and_druggist_sundries",
                            "dry_cleaners",
                            "durable_goods",
                            "duty_free_stores",
                            "eating_places_restaurants",
                            "educational_services",
                            "electric_razor_stores",
                            "electrical_parts_and_equipment",
                            "electrical_services",
                            "electronics_repair_shops",
                            "electronics_stores",
                            "elementary_secondary_schools",
                            "employment_temp_agencies",
                            "equipment_rental",
                            "exterminating_services",
                            "family_clothing_stores",
                            "fast_food_restaurants",
                            "financial_institutions",
                            "fines_government_administrative_entities",
                            "fireplace_fireplace_screens_and_accessories_stores",
                            "floor_covering_stores",
                            "florists",
                            "florists_supplies_nursery_stock_and_flowers",
                            "freezer_and_locker_meat_provisioners",
                            "fuel_dealers_non_automotive",
                            "funeral_services_crematories",
                            "furniture_home_furnishings_and_equipment_stores_except_appliances",
                            "furniture_repair_refinishing",
                            "furriers_and_fur_shops",
                            "general_services",
                            "gift_card_novelty_and_souvenir_shops",
                            "glass_paint_and_wallpaper_stores",
                            "glassware_crystal_stores",
                            "golf_courses_public",
                            "government_services",
                            "grocery_stores_supermarkets",
                            "hardware_equipment_and_supplies",
                            "hardware_stores",
                            "health_and_beauty_spas",
                            "hearing_aids_sales_and_supplies",
                            "heating_plumbing_a_c",
                            "hobby_toy_and_game_shops",
                            "home_supply_warehouse_stores",
                            "hospitals",
                            "hotels_motels_and_resorts",
                            "household_appliance_stores",
                            "industrial_supplies",
                            "information_retrieval_services",
                            "insurance_default",
                            "insurance_underwriting_premiums",
                            "intra_company_purchases",
                            "jewelry_stores_watches_clocks_and_silverware_stores",
                            "landscaping_services",
                            "laundries",
                            "laundry_cleaning_services",
                            "legal_services_attorneys",
                            "luggage_and_leather_goods_stores",
                            "lumber_building_materials_stores",
                            "manual_cash_disburse",
                            "marinas_service_and_supplies",
                            "masonry_stonework_and_plaster",
                            "massage_parlors",
                            "medical_and_dental_labs",
                            "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                            "medical_services",
                            "membership_organizations",
                            "mens_and_boys_clothing_and_accessories_stores",
                            "mens_womens_clothing_stores",
                            "metal_service_centers",
                            "miscellaneous",
                            "miscellaneous_apparel_and_accessory_shops",
                            "miscellaneous_auto_dealers",
                            "miscellaneous_business_services",
                            "miscellaneous_food_stores",
                            "miscellaneous_general_merchandise",
                            "miscellaneous_general_services",
                            "miscellaneous_home_furnishing_specialty_stores",
                            "miscellaneous_publishing_and_printing",
                            "miscellaneous_recreation_services",
                            "miscellaneous_repair_shops",
                            "miscellaneous_specialty_retail",
                            "mobile_home_dealers",
                            "motion_picture_theaters",
                            "motor_freight_carriers_and_trucking",
                            "motor_homes_dealers",
                            "motor_vehicle_supplies_and_new_parts",
                            "motorcycle_shops_and_dealers",
                            "motorcycle_shops_dealers",
                            "music_stores_musical_instruments_pianos_and_sheet_music",
                            "news_dealers_and_newsstands",
                            "non_fi_money_orders",
                            "non_fi_stored_value_card_purchase_load",
                            "nondurable_goods",
                            "nurseries_lawn_and_garden_supply_stores",
                            "nursing_personal_care",
                            "office_and_commercial_furniture",
                            "opticians_eyeglasses",
                            "optometrists_ophthalmologist",
                            "orthopedic_goods_prosthetic_devices",
                            "osteopaths",
                            "package_stores_beer_wine_and_liquor",
                            "paints_varnishes_and_supplies",
                            "parking_lots_garages",
                            "passenger_railways",
                            "pawn_shops",
                            "pet_shops_pet_food_and_supplies",
                            "petroleum_and_petroleum_products",
                            "photo_developing",
                            "photographic_photocopy_microfilm_equipment_and_supplies",
                            "photographic_studios",
                            "picture_video_production",
                            "piece_goods_notions_and_other_dry_goods",
                            "plumbing_heating_equipment_and_supplies",
                            "political_organizations",
                            "postal_services_government_only",
                            "precious_stones_and_metals_watches_and_jewelry",
                            "professional_services",
                            "public_warehousing_and_storage",
                            "quick_copy_repro_and_blueprint",
                            "railroads",
                            "real_estate_agents_and_managers_rentals",
                            "record_stores",
                            "recreational_vehicle_rentals",
                            "religious_goods_stores",
                            "religious_organizations",
                            "roofing_siding_sheet_metal",
                            "secretarial_support_services",
                            "security_brokers_dealers",
                            "service_stations",
                            "sewing_needlework_fabric_and_piece_goods_stores",
                            "shoe_repair_hat_cleaning",
                            "shoe_stores",
                            "small_appliance_repair",
                            "snowmobile_dealers",
                            "special_trade_services",
                            "specialty_cleaning",
                            "sporting_goods_stores",
                            "sporting_recreation_camps",
                            "sports_and_riding_apparel_stores",
                            "sports_clubs_fields",
                            "stamp_and_coin_stores",
                            "stationary_office_supplies_printing_and_writing_paper",
                            "stationery_stores_office_and_school_supply_stores",
                            "swimming_pools_sales",
                            "t_ui_travel_germany",
                            "tailors_alterations",
                            "tax_payments_government_agencies",
                            "tax_preparation_services",
                            "taxicabs_limousines",
                            "telecommunication_equipment_and_telephone_sales",
                            "telecommunication_services",
                            "telegraph_services",
                            "tent_and_awning_shops",
                            "testing_laboratories",
                            "theatrical_ticket_agencies",
                            "timeshares",
                            "tire_retreading_and_repair",
                            "tolls_bridge_fees",
                            "tourist_attractions_and_exhibits",
                            "towing_services",
                            "trailer_parks_campgrounds",
                            "transportation_services",
                            "travel_agencies_tour_operators",
                            "truck_stop_iteration",
                            "truck_utility_trailer_rentals",
                            "typesetting_plate_making_and_related_services",
                            "typewriter_stores",
                            "u_s_federal_government_agencies_or_departments",
                            "uniforms_commercial_clothing",
                            "used_merchandise_and_secondhand_stores",
                            "utilities",
                            "variety_stores",
                            "veterinary_services",
                            "video_amusement_game_supplies",
                            "video_game_arcades",
                            "video_tape_rental_stores",
                            "vocational_trade_schools",
                            "watch_jewelry_repair",
                            "welding_repair",
                            "wholesale_clubs",
                            "wig_and_toupee_stores",
                            "wires_money_orders",
                            "womens_accessory_and_specialty_shops",
                            "womens_ready_to_wear_stores",
                            "wrecking_and_salvage_yards"
                          ],
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "blocked_categories": {
                        "items": {
                          "enum": [
                            "ac_refrigeration_repair",
                            "accounting_bookkeeping_services",
                            "advertising_services",
                            "agricultural_cooperative",
                            "airlines_air_carriers",
                            "airports_flying_fields",
                            "ambulance_services",
                            "amusement_parks_carnivals",
                            "antique_reproductions",
                            "antique_shops",
                            "aquariums",
                            "architectural_surveying_services",
                            "art_dealers_and_galleries",
                            "artists_supply_and_craft_shops",
                            "auto_and_home_supply_stores",
                            "auto_body_repair_shops",
                            "auto_paint_shops",
                            "auto_service_shops",
                            "automated_cash_disburse",
                            "automated_fuel_dispensers",
                            "automobile_associations",
                            "automotive_parts_and_accessories_stores",
                            "automotive_tire_stores",
                            "bail_and_bond_payments",
                            "bakeries",
                            "bands_orchestras",
                            "barber_and_beauty_shops",
                            "betting_casino_gambling",
                            "bicycle_shops",
                            "billiard_pool_establishments",
                            "boat_dealers",
                            "boat_rentals_and_leases",
                            "book_stores",
                            "books_periodicals_and_newspapers",
                            "bowling_alleys",
                            "bus_lines",
                            "business_secretarial_schools",
                            "buying_shopping_services",
                            "cable_satellite_and_other_pay_television_and_radio",
                            "camera_and_photographic_supply_stores",
                            "candy_nut_and_confectionery_stores",
                            "car_and_truck_dealers_new_used",
                            "car_and_truck_dealers_used_only",
                            "car_rental_agencies",
                            "car_washes",
                            "carpentry_services",
                            "carpet_upholstery_cleaning",
                            "caterers",
                            "charitable_and_social_service_organizations_fundraising",
                            "chemicals_and_allied_products",
                            "child_care_services",
                            "childrens_and_infants_wear_stores",
                            "chiropodists_podiatrists",
                            "chiropractors",
                            "cigar_stores_and_stands",
                            "civic_social_fraternal_associations",
                            "cleaning_and_maintenance",
                            "clothing_rental",
                            "colleges_universities",
                            "commercial_equipment",
                            "commercial_footwear",
                            "commercial_photography_art_and_graphics",
                            "commuter_transport_and_ferries",
                            "computer_network_services",
                            "computer_programming",
                            "computer_repair",
                            "computer_software_stores",
                            "computers_peripherals_and_software",
                            "concrete_work_services",
                            "construction_materials",
                            "consulting_public_relations",
                            "correspondence_schools",
                            "cosmetic_stores",
                            "counseling_services",
                            "country_clubs",
                            "courier_services",
                            "court_costs",
                            "credit_reporting_agencies",
                            "cruise_lines",
                            "dairy_products_stores",
                            "dance_hall_studios_schools",
                            "dating_escort_services",
                            "dentists_orthodontists",
                            "department_stores",
                            "detective_agencies",
                            "digital_goods_applications",
                            "digital_goods_games",
                            "digital_goods_large_volume",
                            "digital_goods_media",
                            "direct_marketing_catalog_merchant",
                            "direct_marketing_combination_catalog_and_retail_merchant",
                            "direct_marketing_inbound_telemarketing",
                            "direct_marketing_insurance_services",
                            "direct_marketing_other",
                            "direct_marketing_outbound_telemarketing",
                            "direct_marketing_subscription",
                            "direct_marketing_travel",
                            "discount_stores",
                            "doctors",
                            "door_to_door_sales",
                            "drapery_window_covering_and_upholstery_stores",
                            "drinking_places",
                            "drug_stores_and_pharmacies",
                            "drugs_drug_proprietaries_and_druggist_sundries",
                            "dry_cleaners",
                            "durable_goods",
                            "duty_free_stores",
                            "eating_places_restaurants",
                            "educational_services",
                            "electric_razor_stores",
                            "electrical_parts_and_equipment",
                            "electrical_services",
                            "electronics_repair_shops",
                            "electronics_stores",
                            "elementary_secondary_schools",
                            "employment_temp_agencies",
                            "equipment_rental",
                            "exterminating_services",
                            "family_clothing_stores",
                            "fast_food_restaurants",
                            "financial_institutions",
                            "fines_government_administrative_entities",
                            "fireplace_fireplace_screens_and_accessories_stores",
                            "floor_covering_stores",
                            "florists",
                            "florists_supplies_nursery_stock_and_flowers",
                            "freezer_and_locker_meat_provisioners",
                            "fuel_dealers_non_automotive",
                            "funeral_services_crematories",
                            "furniture_home_furnishings_and_equipment_stores_except_appliances",
                            "furniture_repair_refinishing",
                            "furriers_and_fur_shops",
                            "general_services",
                            "gift_card_novelty_and_souvenir_shops",
                            "glass_paint_and_wallpaper_stores",
                            "glassware_crystal_stores",
                            "golf_courses_public",
                            "government_services",
                            "grocery_stores_supermarkets",
                            "hardware_equipment_and_supplies",
                            "hardware_stores",
                            "health_and_beauty_spas",
                            "hearing_aids_sales_and_supplies",
                            "heating_plumbing_a_c",
                            "hobby_toy_and_game_shops",
                            "home_supply_warehouse_stores",
                            "hospitals",
                            "hotels_motels_and_resorts",
                            "household_appliance_stores",
                            "industrial_supplies",
                            "information_retrieval_services",
                            "insurance_default",
                            "insurance_underwriting_premiums",
                            "intra_company_purchases",
                            "jewelry_stores_watches_clocks_and_silverware_stores",
                            "landscaping_services",
                            "laundries",
                            "laundry_cleaning_services",
                            "legal_services_attorneys",
                            "luggage_and_leather_goods_stores",
                            "lumber_building_materials_stores",
                            "manual_cash_disburse",
                            "marinas_service_and_supplies",
                            "masonry_stonework_and_plaster",
                            "massage_parlors",
                            "medical_and_dental_labs",
                            "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                            "medical_services",
                            "membership_organizations",
                            "mens_and_boys_clothing_and_accessories_stores",
                            "mens_womens_clothing_stores",
                            "metal_service_centers",
                            "miscellaneous",
                            "miscellaneous_apparel_and_accessory_shops",
                            "miscellaneous_auto_dealers",
                            "miscellaneous_business_services",
                            "miscellaneous_food_stores",
                            "miscellaneous_general_merchandise",
                            "miscellaneous_general_services",
                            "miscellaneous_home_furnishing_specialty_stores",
                            "miscellaneous_publishing_and_printing",
                            "miscellaneous_recreation_services",
                            "miscellaneous_repair_shops",
                            "miscellaneous_specialty_retail",
                            "mobile_home_dealers",
                            "motion_picture_theaters",
                            "motor_freight_carriers_and_trucking",
                            "motor_homes_dealers",
                            "motor_vehicle_supplies_and_new_parts",
                            "motorcycle_shops_and_dealers",
                            "motorcycle_shops_dealers",
                            "music_stores_musical_instruments_pianos_and_sheet_music",
                            "news_dealers_and_newsstands",
                            "non_fi_money_orders",
                            "non_fi_stored_value_card_purchase_load",
                            "nondurable_goods",
                            "nurseries_lawn_and_garden_supply_stores",
                            "nursing_personal_care",
                            "office_and_commercial_furniture",
                            "opticians_eyeglasses",
                            "optometrists_ophthalmologist",
                            "orthopedic_goods_prosthetic_devices",
                            "osteopaths",
                            "package_stores_beer_wine_and_liquor",
                            "paints_varnishes_and_supplies",
                            "parking_lots_garages",
                            "passenger_railways",
                            "pawn_shops",
                            "pet_shops_pet_food_and_supplies",
                            "petroleum_and_petroleum_products",
                            "photo_developing",
                            "photographic_photocopy_microfilm_equipment_and_supplies",
                            "photographic_studios",
                            "picture_video_production",
                            "piece_goods_notions_and_other_dry_goods",
                            "plumbing_heating_equipment_and_supplies",
                            "political_organizations",
                            "postal_services_government_only",
                            "precious_stones_and_metals_watches_and_jewelry",
                            "professional_services",
                            "public_warehousing_and_storage",
                            "quick_copy_repro_and_blueprint",
                            "railroads",
                            "real_estate_agents_and_managers_rentals",
                            "record_stores",
                            "recreational_vehicle_rentals",
                            "religious_goods_stores",
                            "religious_organizations",
                            "roofing_siding_sheet_metal",
                            "secretarial_support_services",
                            "security_brokers_dealers",
                            "service_stations",
                            "sewing_needlework_fabric_and_piece_goods_stores",
                            "shoe_repair_hat_cleaning",
                            "shoe_stores",
                            "small_appliance_repair",
                            "snowmobile_dealers",
                            "special_trade_services",
                            "specialty_cleaning",
                            "sporting_goods_stores",
                            "sporting_recreation_camps",
                            "sports_and_riding_apparel_stores",
                            "sports_clubs_fields",
                            "stamp_and_coin_stores",
                            "stationary_office_supplies_printing_and_writing_paper",
                            "stationery_stores_office_and_school_supply_stores",
                            "swimming_pools_sales",
                            "t_ui_travel_germany",
                            "tailors_alterations",
                            "tax_payments_government_agencies",
                            "tax_preparation_services",
                            "taxicabs_limousines",
                            "telecommunication_equipment_and_telephone_sales",
                            "telecommunication_services",
                            "telegraph_services",
                            "tent_and_awning_shops",
                            "testing_laboratories",
                            "theatrical_ticket_agencies",
                            "timeshares",
                            "tire_retreading_and_repair",
                            "tolls_bridge_fees",
                            "tourist_attractions_and_exhibits",
                            "towing_services",
                            "trailer_parks_campgrounds",
                            "transportation_services",
                            "travel_agencies_tour_operators",
                            "truck_stop_iteration",
                            "truck_utility_trailer_rentals",
                            "typesetting_plate_making_and_related_services",
                            "typewriter_stores",
                            "u_s_federal_government_agencies_or_departments",
                            "uniforms_commercial_clothing",
                            "used_merchandise_and_secondhand_stores",
                            "utilities",
                            "variety_stores",
                            "veterinary_services",
                            "video_amusement_game_supplies",
                            "video_game_arcades",
                            "video_tape_rental_stores",
                            "vocational_trade_schools",
                            "watch_jewelry_repair",
                            "welding_repair",
                            "wholesale_clubs",
                            "wig_and_toupee_stores",
                            "wires_money_orders",
                            "womens_accessory_and_specialty_shops",
                            "womens_ready_to_wear_stores",
                            "wrecking_and_salvage_yards"
                          ],
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "spending_limits": {
                        "items": {
                          "properties": {
                            "amount": {
                              "type": "integer"
                            },
                            "categories": {
                              "items": {
                                "enum": [
                                  "ac_refrigeration_repair",
                                  "accounting_bookkeeping_services",
                                  "advertising_services",
                                  "agricultural_cooperative",
                                  "airlines_air_carriers",
                                  "airports_flying_fields",
                                  "ambulance_services",
                                  "amusement_parks_carnivals",
                                  "antique_reproductions",
                                  "antique_shops",
                                  "aquariums",
                                  "architectural_surveying_services",
                                  "art_dealers_and_galleries",
                                  "artists_supply_and_craft_shops",
                                  "auto_and_home_supply_stores",
                                  "auto_body_repair_shops",
                                  "auto_paint_shops",
                                  "auto_service_shops",
                                  "automated_cash_disburse",
                                  "automated_fuel_dispensers",
                                  "automobile_associations",
                                  "automotive_parts_and_accessories_stores",
                                  "automotive_tire_stores",
                                  "bail_and_bond_payments",
                                  "bakeries",
                                  "bands_orchestras",
                                  "barber_and_beauty_shops",
                                  "betting_casino_gambling",
                                  "bicycle_shops",
                                  "billiard_pool_establishments",
                                  "boat_dealers",
                                  "boat_rentals_and_leases",
                                  "book_stores",
                                  "books_periodicals_and_newspapers",
                                  "bowling_alleys",
                                  "bus_lines",
                                  "business_secretarial_schools",
                                  "buying_shopping_services",
                                  "cable_satellite_and_other_pay_television_and_radio",
                                  "camera_and_photographic_supply_stores",
                                  "candy_nut_and_confectionery_stores",
                                  "car_and_truck_dealers_new_used",
                                  "car_and_truck_dealers_used_only",
                                  "car_rental_agencies",
                                  "car_washes",
                                  "carpentry_services",
                                  "carpet_upholstery_cleaning",
                                  "caterers",
                                  "charitable_and_social_service_organizations_fundraising",
                                  "chemicals_and_allied_products",
                                  "child_care_services",
                                  "childrens_and_infants_wear_stores",
                                  "chiropodists_podiatrists",
                                  "chiropractors",
                                  "cigar_stores_and_stands",
                                  "civic_social_fraternal_associations",
                                  "cleaning_and_maintenance",
                                  "clothing_rental",
                                  "colleges_universities",
                                  "commercial_equipment",
                                  "commercial_footwear",
                                  "commercial_photography_art_and_graphics",
                                  "commuter_transport_and_ferries",
                                  "computer_network_services",
                                  "computer_programming",
                                  "computer_repair",
                                  "computer_software_stores",
                                  "computers_peripherals_and_software",
                                  "concrete_work_services",
                                  "construction_materials",
                                  "consulting_public_relations",
                                  "correspondence_schools",
                                  "cosmetic_stores",
                                  "counseling_services",
                                  "country_clubs",
                                  "courier_services",
                                  "court_costs",
                                  "credit_reporting_agencies",
                                  "cruise_lines",
                                  "dairy_products_stores",
                                  "dance_hall_studios_schools",
                                  "dating_escort_services",
                                  "dentists_orthodontists",
                                  "department_stores",
                                  "detective_agencies",
                                  "digital_goods_applications",
                                  "digital_goods_games",
                                  "digital_goods_large_volume",
                                  "digital_goods_media",
                                  "direct_marketing_catalog_merchant",
                                  "direct_marketing_combination_catalog_and_retail_merchant",
                                  "direct_marketing_inbound_telemarketing",
                                  "direct_marketing_insurance_services",
                                  "direct_marketing_other",
                                  "direct_marketing_outbound_telemarketing",
                                  "direct_marketing_subscription",
                                  "direct_marketing_travel",
                                  "discount_stores",
                                  "doctors",
                                  "door_to_door_sales",
                                  "drapery_window_covering_and_upholstery_stores",
                                  "drinking_places",
                                  "drug_stores_and_pharmacies",
                                  "drugs_drug_proprietaries_and_druggist_sundries",
                                  "dry_cleaners",
                                  "durable_goods",
                                  "duty_free_stores",
                                  "eating_places_restaurants",
                                  "educational_services",
                                  "electric_razor_stores",
                                  "electrical_parts_and_equipment",
                                  "electrical_services",
                                  "electronics_repair_shops",
                                  "electronics_stores",
                                  "elementary_secondary_schools",
                                  "employment_temp_agencies",
                                  "equipment_rental",
                                  "exterminating_services",
                                  "family_clothing_stores",
                                  "fast_food_restaurants",
                                  "financial_institutions",
                                  "fines_government_administrative_entities",
                                  "fireplace_fireplace_screens_and_accessories_stores",
                                  "floor_covering_stores",
                                  "florists",
                                  "florists_supplies_nursery_stock_and_flowers",
                                  "freezer_and_locker_meat_provisioners",
                                  "fuel_dealers_non_automotive",
                                  "funeral_services_crematories",
                                  "furniture_home_furnishings_and_equipment_stores_except_appliances",
                                  "furniture_repair_refinishing",
                                  "furriers_and_fur_shops",
                                  "general_services",
                                  "gift_card_novelty_and_souvenir_shops",
                                  "glass_paint_and_wallpaper_stores",
                                  "glassware_crystal_stores",
                                  "golf_courses_public",
                                  "government_services",
                                  "grocery_stores_supermarkets",
                                  "hardware_equipment_and_supplies",
                                  "hardware_stores",
                                  "health_and_beauty_spas",
                                  "hearing_aids_sales_and_supplies",
                                  "heating_plumbing_a_c",
                                  "hobby_toy_and_game_shops",
                                  "home_supply_warehouse_stores",
                                  "hospitals",
                                  "hotels_motels_and_resorts",
                                  "household_appliance_stores",
                                  "industrial_supplies",
                                  "information_retrieval_services",
                                  "insurance_default",
                                  "insurance_underwriting_premiums",
                                  "intra_company_purchases",
                                  "jewelry_stores_watches_clocks_and_silverware_stores",
                                  "landscaping_services",
                                  "laundries",
                                  "laundry_cleaning_services",
                                  "legal_services_attorneys",
                                  "luggage_and_leather_goods_stores",
                                  "lumber_building_materials_stores",
                                  "manual_cash_disburse",
                                  "marinas_service_and_supplies",
                                  "masonry_stonework_and_plaster",
                                  "massage_parlors",
                                  "medical_and_dental_labs",
                                  "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                                  "medical_services",
                                  "membership_organizations",
                                  "mens_and_boys_clothing_and_accessories_stores",
                                  "mens_womens_clothing_stores",
                                  "metal_service_centers",
                                  "miscellaneous",
                                  "miscellaneous_apparel_and_accessory_shops",
                                  "miscellaneous_auto_dealers",
                                  "miscellaneous_business_services",
                                  "miscellaneous_food_stores",
                                  "miscellaneous_general_merchandise",
                                  "miscellaneous_general_services",
                                  "miscellaneous_home_furnishing_specialty_stores",
                                  "miscellaneous_publishing_and_printing",
                                  "miscellaneous_recreation_services",
                                  "miscellaneous_repair_shops",
                                  "miscellaneous_specialty_retail",
                                  "mobile_home_dealers",
                                  "motion_picture_theaters",
                                  "motor_freight_carriers_and_trucking",
                                  "motor_homes_dealers",
                                  "motor_vehicle_supplies_and_new_parts",
                                  "motorcycle_shops_and_dealers",
                                  "motorcycle_shops_dealers",
                                  "music_stores_musical_instruments_pianos_and_sheet_music",
                                  "news_dealers_and_newsstands",
                                  "non_fi_money_orders",
                                  "non_fi_stored_value_card_purchase_load",
                                  "nondurable_goods",
                                  "nurseries_lawn_and_garden_supply_stores",
                                  "nursing_personal_care",
                                  "office_and_commercial_furniture",
                                  "opticians_eyeglasses",
                                  "optometrists_ophthalmologist",
                                  "orthopedic_goods_prosthetic_devices",
                                  "osteopaths",
                                  "package_stores_beer_wine_and_liquor",
                                  "paints_varnishes_and_supplies",
                                  "parking_lots_garages",
                                  "passenger_railways",
                                  "pawn_shops",
                                  "pet_shops_pet_food_and_supplies",
                                  "petroleum_and_petroleum_products",
                                  "photo_developing",
                                  "photographic_photocopy_microfilm_equipment_and_supplies",
                                  "photographic_studios",
                                  "picture_video_production",
                                  "piece_goods_notions_and_other_dry_goods",
                                  "plumbing_heating_equipment_and_supplies",
                                  "political_organizations",
                                  "postal_services_government_only",
                                  "precious_stones_and_metals_watches_and_jewelry",
                                  "professional_services",
                                  "public_warehousing_and_storage",
                                  "quick_copy_repro_and_blueprint",
                                  "railroads",
                                  "real_estate_agents_and_managers_rentals",
                                  "record_stores",
                                  "recreational_vehicle_rentals",
                                  "religious_goods_stores",
                                  "religious_organizations",
                                  "roofing_siding_sheet_metal",
                                  "secretarial_support_services",
                                  "security_brokers_dealers",
                                  "service_stations",
                                  "sewing_needlework_fabric_and_piece_goods_stores",
                                  "shoe_repair_hat_cleaning",
                                  "shoe_stores",
                                  "small_appliance_repair",
                                  "snowmobile_dealers",
                                  "special_trade_services",
                                  "specialty_cleaning",
                                  "sporting_goods_stores",
                                  "sporting_recreation_camps",
                                  "sports_and_riding_apparel_stores",
                                  "sports_clubs_fields",
                                  "stamp_and_coin_stores",
                                  "stationary_office_supplies_printing_and_writing_paper",
                                  "stationery_stores_office_and_school_supply_stores",
                                  "swimming_pools_sales",
                                  "t_ui_travel_germany",
                                  "tailors_alterations",
                                  "tax_payments_government_agencies",
                                  "tax_preparation_services",
                                  "taxicabs_limousines",
                                  "telecommunication_equipment_and_telephone_sales",
                                  "telecommunication_services",
                                  "telegraph_services",
                                  "tent_and_awning_shops",
                                  "testing_laboratories",
                                  "theatrical_ticket_agencies",
                                  "timeshares",
                                  "tire_retreading_and_repair",
                                  "tolls_bridge_fees",
                                  "tourist_attractions_and_exhibits",
                                  "towing_services",
                                  "trailer_parks_campgrounds",
                                  "transportation_services",
                                  "travel_agencies_tour_operators",
                                  "truck_stop_iteration",
                                  "truck_utility_trailer_rentals",
                                  "typesetting_plate_making_and_related_services",
                                  "typewriter_stores",
                                  "u_s_federal_government_agencies_or_departments",
                                  "uniforms_commercial_clothing",
                                  "used_merchandise_and_secondhand_stores",
                                  "utilities",
                                  "variety_stores",
                                  "veterinary_services",
                                  "video_amusement_game_supplies",
                                  "video_game_arcades",
                                  "video_tape_rental_stores",
                                  "vocational_trade_schools",
                                  "watch_jewelry_repair",
                                  "welding_repair",
                                  "wholesale_clubs",
                                  "wig_and_toupee_stores",
                                  "wires_money_orders",
                                  "womens_accessory_and_specialty_shops",
                                  "womens_ready_to_wear_stores",
                                  "wrecking_and_salvage_yards"
                                ],
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "interval": {
                              "enum": ["all_time", "daily", "monthly", "per_authorization", "weekly", "yearly"],
                              "type": "string"
                            }
                          },
                          "required": ["amount", "interval"],
                          "title": "spending_limits_param",
                          "type": "object"
                        },
                        "type": "array"
                      }
                    },
                    "title": "authorization_controls_param",
                    "type": "object"
                  },
                  "status": {
                    "description": "Whether authorizations can be approved on this card. Defaults to `inactive`.",
                    "enum": ["active", "inactive"],
                    "type": "string"
                  },
                  "type": {
                    "description": "The type of card to issue. Possible values are `physical` or `virtual`.",
                    "enum": ["physical", "virtual"],
                    "type": "string"
                  }
                },
                "required": ["currency", "type"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.card"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/cards/{card}": {
      "get": {
        "description": "<p>Retrieves an Issuing <code>Card</code> object.</p>",
        "operationId": "GetIssuingCardsCard",
        "parameters": [
          {
            "in": "path",
            "name": "card",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.card"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified Issuing <code>Card</code> object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>",
        "operationId": "PostIssuingCardsCard",
        "parameters": [
          {
            "in": "path",
            "name": "card",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "spending_controls": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "cancellation_reason": {
                    "description": "Reason why the `status` of this card is `canceled`.",
                    "enum": ["lost", "stolen"],
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "spending_controls": {
                    "description": "Rules that control spending for this card. Refer to our [documentation](https://stripe.com/docs/issuing/controls/spending-controls) for more details.",
                    "properties": {
                      "allowed_categories": {
                        "items": {
                          "enum": [
                            "ac_refrigeration_repair",
                            "accounting_bookkeeping_services",
                            "advertising_services",
                            "agricultural_cooperative",
                            "airlines_air_carriers",
                            "airports_flying_fields",
                            "ambulance_services",
                            "amusement_parks_carnivals",
                            "antique_reproductions",
                            "antique_shops",
                            "aquariums",
                            "architectural_surveying_services",
                            "art_dealers_and_galleries",
                            "artists_supply_and_craft_shops",
                            "auto_and_home_supply_stores",
                            "auto_body_repair_shops",
                            "auto_paint_shops",
                            "auto_service_shops",
                            "automated_cash_disburse",
                            "automated_fuel_dispensers",
                            "automobile_associations",
                            "automotive_parts_and_accessories_stores",
                            "automotive_tire_stores",
                            "bail_and_bond_payments",
                            "bakeries",
                            "bands_orchestras",
                            "barber_and_beauty_shops",
                            "betting_casino_gambling",
                            "bicycle_shops",
                            "billiard_pool_establishments",
                            "boat_dealers",
                            "boat_rentals_and_leases",
                            "book_stores",
                            "books_periodicals_and_newspapers",
                            "bowling_alleys",
                            "bus_lines",
                            "business_secretarial_schools",
                            "buying_shopping_services",
                            "cable_satellite_and_other_pay_television_and_radio",
                            "camera_and_photographic_supply_stores",
                            "candy_nut_and_confectionery_stores",
                            "car_and_truck_dealers_new_used",
                            "car_and_truck_dealers_used_only",
                            "car_rental_agencies",
                            "car_washes",
                            "carpentry_services",
                            "carpet_upholstery_cleaning",
                            "caterers",
                            "charitable_and_social_service_organizations_fundraising",
                            "chemicals_and_allied_products",
                            "child_care_services",
                            "childrens_and_infants_wear_stores",
                            "chiropodists_podiatrists",
                            "chiropractors",
                            "cigar_stores_and_stands",
                            "civic_social_fraternal_associations",
                            "cleaning_and_maintenance",
                            "clothing_rental",
                            "colleges_universities",
                            "commercial_equipment",
                            "commercial_footwear",
                            "commercial_photography_art_and_graphics",
                            "commuter_transport_and_ferries",
                            "computer_network_services",
                            "computer_programming",
                            "computer_repair",
                            "computer_software_stores",
                            "computers_peripherals_and_software",
                            "concrete_work_services",
                            "construction_materials",
                            "consulting_public_relations",
                            "correspondence_schools",
                            "cosmetic_stores",
                            "counseling_services",
                            "country_clubs",
                            "courier_services",
                            "court_costs",
                            "credit_reporting_agencies",
                            "cruise_lines",
                            "dairy_products_stores",
                            "dance_hall_studios_schools",
                            "dating_escort_services",
                            "dentists_orthodontists",
                            "department_stores",
                            "detective_agencies",
                            "digital_goods_applications",
                            "digital_goods_games",
                            "digital_goods_large_volume",
                            "digital_goods_media",
                            "direct_marketing_catalog_merchant",
                            "direct_marketing_combination_catalog_and_retail_merchant",
                            "direct_marketing_inbound_telemarketing",
                            "direct_marketing_insurance_services",
                            "direct_marketing_other",
                            "direct_marketing_outbound_telemarketing",
                            "direct_marketing_subscription",
                            "direct_marketing_travel",
                            "discount_stores",
                            "doctors",
                            "door_to_door_sales",
                            "drapery_window_covering_and_upholstery_stores",
                            "drinking_places",
                            "drug_stores_and_pharmacies",
                            "drugs_drug_proprietaries_and_druggist_sundries",
                            "dry_cleaners",
                            "durable_goods",
                            "duty_free_stores",
                            "eating_places_restaurants",
                            "educational_services",
                            "electric_razor_stores",
                            "electrical_parts_and_equipment",
                            "electrical_services",
                            "electronics_repair_shops",
                            "electronics_stores",
                            "elementary_secondary_schools",
                            "employment_temp_agencies",
                            "equipment_rental",
                            "exterminating_services",
                            "family_clothing_stores",
                            "fast_food_restaurants",
                            "financial_institutions",
                            "fines_government_administrative_entities",
                            "fireplace_fireplace_screens_and_accessories_stores",
                            "floor_covering_stores",
                            "florists",
                            "florists_supplies_nursery_stock_and_flowers",
                            "freezer_and_locker_meat_provisioners",
                            "fuel_dealers_non_automotive",
                            "funeral_services_crematories",
                            "furniture_home_furnishings_and_equipment_stores_except_appliances",
                            "furniture_repair_refinishing",
                            "furriers_and_fur_shops",
                            "general_services",
                            "gift_card_novelty_and_souvenir_shops",
                            "glass_paint_and_wallpaper_stores",
                            "glassware_crystal_stores",
                            "golf_courses_public",
                            "government_services",
                            "grocery_stores_supermarkets",
                            "hardware_equipment_and_supplies",
                            "hardware_stores",
                            "health_and_beauty_spas",
                            "hearing_aids_sales_and_supplies",
                            "heating_plumbing_a_c",
                            "hobby_toy_and_game_shops",
                            "home_supply_warehouse_stores",
                            "hospitals",
                            "hotels_motels_and_resorts",
                            "household_appliance_stores",
                            "industrial_supplies",
                            "information_retrieval_services",
                            "insurance_default",
                            "insurance_underwriting_premiums",
                            "intra_company_purchases",
                            "jewelry_stores_watches_clocks_and_silverware_stores",
                            "landscaping_services",
                            "laundries",
                            "laundry_cleaning_services",
                            "legal_services_attorneys",
                            "luggage_and_leather_goods_stores",
                            "lumber_building_materials_stores",
                            "manual_cash_disburse",
                            "marinas_service_and_supplies",
                            "masonry_stonework_and_plaster",
                            "massage_parlors",
                            "medical_and_dental_labs",
                            "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                            "medical_services",
                            "membership_organizations",
                            "mens_and_boys_clothing_and_accessories_stores",
                            "mens_womens_clothing_stores",
                            "metal_service_centers",
                            "miscellaneous",
                            "miscellaneous_apparel_and_accessory_shops",
                            "miscellaneous_auto_dealers",
                            "miscellaneous_business_services",
                            "miscellaneous_food_stores",
                            "miscellaneous_general_merchandise",
                            "miscellaneous_general_services",
                            "miscellaneous_home_furnishing_specialty_stores",
                            "miscellaneous_publishing_and_printing",
                            "miscellaneous_recreation_services",
                            "miscellaneous_repair_shops",
                            "miscellaneous_specialty_retail",
                            "mobile_home_dealers",
                            "motion_picture_theaters",
                            "motor_freight_carriers_and_trucking",
                            "motor_homes_dealers",
                            "motor_vehicle_supplies_and_new_parts",
                            "motorcycle_shops_and_dealers",
                            "motorcycle_shops_dealers",
                            "music_stores_musical_instruments_pianos_and_sheet_music",
                            "news_dealers_and_newsstands",
                            "non_fi_money_orders",
                            "non_fi_stored_value_card_purchase_load",
                            "nondurable_goods",
                            "nurseries_lawn_and_garden_supply_stores",
                            "nursing_personal_care",
                            "office_and_commercial_furniture",
                            "opticians_eyeglasses",
                            "optometrists_ophthalmologist",
                            "orthopedic_goods_prosthetic_devices",
                            "osteopaths",
                            "package_stores_beer_wine_and_liquor",
                            "paints_varnishes_and_supplies",
                            "parking_lots_garages",
                            "passenger_railways",
                            "pawn_shops",
                            "pet_shops_pet_food_and_supplies",
                            "petroleum_and_petroleum_products",
                            "photo_developing",
                            "photographic_photocopy_microfilm_equipment_and_supplies",
                            "photographic_studios",
                            "picture_video_production",
                            "piece_goods_notions_and_other_dry_goods",
                            "plumbing_heating_equipment_and_supplies",
                            "political_organizations",
                            "postal_services_government_only",
                            "precious_stones_and_metals_watches_and_jewelry",
                            "professional_services",
                            "public_warehousing_and_storage",
                            "quick_copy_repro_and_blueprint",
                            "railroads",
                            "real_estate_agents_and_managers_rentals",
                            "record_stores",
                            "recreational_vehicle_rentals",
                            "religious_goods_stores",
                            "religious_organizations",
                            "roofing_siding_sheet_metal",
                            "secretarial_support_services",
                            "security_brokers_dealers",
                            "service_stations",
                            "sewing_needlework_fabric_and_piece_goods_stores",
                            "shoe_repair_hat_cleaning",
                            "shoe_stores",
                            "small_appliance_repair",
                            "snowmobile_dealers",
                            "special_trade_services",
                            "specialty_cleaning",
                            "sporting_goods_stores",
                            "sporting_recreation_camps",
                            "sports_and_riding_apparel_stores",
                            "sports_clubs_fields",
                            "stamp_and_coin_stores",
                            "stationary_office_supplies_printing_and_writing_paper",
                            "stationery_stores_office_and_school_supply_stores",
                            "swimming_pools_sales",
                            "t_ui_travel_germany",
                            "tailors_alterations",
                            "tax_payments_government_agencies",
                            "tax_preparation_services",
                            "taxicabs_limousines",
                            "telecommunication_equipment_and_telephone_sales",
                            "telecommunication_services",
                            "telegraph_services",
                            "tent_and_awning_shops",
                            "testing_laboratories",
                            "theatrical_ticket_agencies",
                            "timeshares",
                            "tire_retreading_and_repair",
                            "tolls_bridge_fees",
                            "tourist_attractions_and_exhibits",
                            "towing_services",
                            "trailer_parks_campgrounds",
                            "transportation_services",
                            "travel_agencies_tour_operators",
                            "truck_stop_iteration",
                            "truck_utility_trailer_rentals",
                            "typesetting_plate_making_and_related_services",
                            "typewriter_stores",
                            "u_s_federal_government_agencies_or_departments",
                            "uniforms_commercial_clothing",
                            "used_merchandise_and_secondhand_stores",
                            "utilities",
                            "variety_stores",
                            "veterinary_services",
                            "video_amusement_game_supplies",
                            "video_game_arcades",
                            "video_tape_rental_stores",
                            "vocational_trade_schools",
                            "watch_jewelry_repair",
                            "welding_repair",
                            "wholesale_clubs",
                            "wig_and_toupee_stores",
                            "wires_money_orders",
                            "womens_accessory_and_specialty_shops",
                            "womens_ready_to_wear_stores",
                            "wrecking_and_salvage_yards"
                          ],
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "blocked_categories": {
                        "items": {
                          "enum": [
                            "ac_refrigeration_repair",
                            "accounting_bookkeeping_services",
                            "advertising_services",
                            "agricultural_cooperative",
                            "airlines_air_carriers",
                            "airports_flying_fields",
                            "ambulance_services",
                            "amusement_parks_carnivals",
                            "antique_reproductions",
                            "antique_shops",
                            "aquariums",
                            "architectural_surveying_services",
                            "art_dealers_and_galleries",
                            "artists_supply_and_craft_shops",
                            "auto_and_home_supply_stores",
                            "auto_body_repair_shops",
                            "auto_paint_shops",
                            "auto_service_shops",
                            "automated_cash_disburse",
                            "automated_fuel_dispensers",
                            "automobile_associations",
                            "automotive_parts_and_accessories_stores",
                            "automotive_tire_stores",
                            "bail_and_bond_payments",
                            "bakeries",
                            "bands_orchestras",
                            "barber_and_beauty_shops",
                            "betting_casino_gambling",
                            "bicycle_shops",
                            "billiard_pool_establishments",
                            "boat_dealers",
                            "boat_rentals_and_leases",
                            "book_stores",
                            "books_periodicals_and_newspapers",
                            "bowling_alleys",
                            "bus_lines",
                            "business_secretarial_schools",
                            "buying_shopping_services",
                            "cable_satellite_and_other_pay_television_and_radio",
                            "camera_and_photographic_supply_stores",
                            "candy_nut_and_confectionery_stores",
                            "car_and_truck_dealers_new_used",
                            "car_and_truck_dealers_used_only",
                            "car_rental_agencies",
                            "car_washes",
                            "carpentry_services",
                            "carpet_upholstery_cleaning",
                            "caterers",
                            "charitable_and_social_service_organizations_fundraising",
                            "chemicals_and_allied_products",
                            "child_care_services",
                            "childrens_and_infants_wear_stores",
                            "chiropodists_podiatrists",
                            "chiropractors",
                            "cigar_stores_and_stands",
                            "civic_social_fraternal_associations",
                            "cleaning_and_maintenance",
                            "clothing_rental",
                            "colleges_universities",
                            "commercial_equipment",
                            "commercial_footwear",
                            "commercial_photography_art_and_graphics",
                            "commuter_transport_and_ferries",
                            "computer_network_services",
                            "computer_programming",
                            "computer_repair",
                            "computer_software_stores",
                            "computers_peripherals_and_software",
                            "concrete_work_services",
                            "construction_materials",
                            "consulting_public_relations",
                            "correspondence_schools",
                            "cosmetic_stores",
                            "counseling_services",
                            "country_clubs",
                            "courier_services",
                            "court_costs",
                            "credit_reporting_agencies",
                            "cruise_lines",
                            "dairy_products_stores",
                            "dance_hall_studios_schools",
                            "dating_escort_services",
                            "dentists_orthodontists",
                            "department_stores",
                            "detective_agencies",
                            "digital_goods_applications",
                            "digital_goods_games",
                            "digital_goods_large_volume",
                            "digital_goods_media",
                            "direct_marketing_catalog_merchant",
                            "direct_marketing_combination_catalog_and_retail_merchant",
                            "direct_marketing_inbound_telemarketing",
                            "direct_marketing_insurance_services",
                            "direct_marketing_other",
                            "direct_marketing_outbound_telemarketing",
                            "direct_marketing_subscription",
                            "direct_marketing_travel",
                            "discount_stores",
                            "doctors",
                            "door_to_door_sales",
                            "drapery_window_covering_and_upholstery_stores",
                            "drinking_places",
                            "drug_stores_and_pharmacies",
                            "drugs_drug_proprietaries_and_druggist_sundries",
                            "dry_cleaners",
                            "durable_goods",
                            "duty_free_stores",
                            "eating_places_restaurants",
                            "educational_services",
                            "electric_razor_stores",
                            "electrical_parts_and_equipment",
                            "electrical_services",
                            "electronics_repair_shops",
                            "electronics_stores",
                            "elementary_secondary_schools",
                            "employment_temp_agencies",
                            "equipment_rental",
                            "exterminating_services",
                            "family_clothing_stores",
                            "fast_food_restaurants",
                            "financial_institutions",
                            "fines_government_administrative_entities",
                            "fireplace_fireplace_screens_and_accessories_stores",
                            "floor_covering_stores",
                            "florists",
                            "florists_supplies_nursery_stock_and_flowers",
                            "freezer_and_locker_meat_provisioners",
                            "fuel_dealers_non_automotive",
                            "funeral_services_crematories",
                            "furniture_home_furnishings_and_equipment_stores_except_appliances",
                            "furniture_repair_refinishing",
                            "furriers_and_fur_shops",
                            "general_services",
                            "gift_card_novelty_and_souvenir_shops",
                            "glass_paint_and_wallpaper_stores",
                            "glassware_crystal_stores",
                            "golf_courses_public",
                            "government_services",
                            "grocery_stores_supermarkets",
                            "hardware_equipment_and_supplies",
                            "hardware_stores",
                            "health_and_beauty_spas",
                            "hearing_aids_sales_and_supplies",
                            "heating_plumbing_a_c",
                            "hobby_toy_and_game_shops",
                            "home_supply_warehouse_stores",
                            "hospitals",
                            "hotels_motels_and_resorts",
                            "household_appliance_stores",
                            "industrial_supplies",
                            "information_retrieval_services",
                            "insurance_default",
                            "insurance_underwriting_premiums",
                            "intra_company_purchases",
                            "jewelry_stores_watches_clocks_and_silverware_stores",
                            "landscaping_services",
                            "laundries",
                            "laundry_cleaning_services",
                            "legal_services_attorneys",
                            "luggage_and_leather_goods_stores",
                            "lumber_building_materials_stores",
                            "manual_cash_disburse",
                            "marinas_service_and_supplies",
                            "masonry_stonework_and_plaster",
                            "massage_parlors",
                            "medical_and_dental_labs",
                            "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                            "medical_services",
                            "membership_organizations",
                            "mens_and_boys_clothing_and_accessories_stores",
                            "mens_womens_clothing_stores",
                            "metal_service_centers",
                            "miscellaneous",
                            "miscellaneous_apparel_and_accessory_shops",
                            "miscellaneous_auto_dealers",
                            "miscellaneous_business_services",
                            "miscellaneous_food_stores",
                            "miscellaneous_general_merchandise",
                            "miscellaneous_general_services",
                            "miscellaneous_home_furnishing_specialty_stores",
                            "miscellaneous_publishing_and_printing",
                            "miscellaneous_recreation_services",
                            "miscellaneous_repair_shops",
                            "miscellaneous_specialty_retail",
                            "mobile_home_dealers",
                            "motion_picture_theaters",
                            "motor_freight_carriers_and_trucking",
                            "motor_homes_dealers",
                            "motor_vehicle_supplies_and_new_parts",
                            "motorcycle_shops_and_dealers",
                            "motorcycle_shops_dealers",
                            "music_stores_musical_instruments_pianos_and_sheet_music",
                            "news_dealers_and_newsstands",
                            "non_fi_money_orders",
                            "non_fi_stored_value_card_purchase_load",
                            "nondurable_goods",
                            "nurseries_lawn_and_garden_supply_stores",
                            "nursing_personal_care",
                            "office_and_commercial_furniture",
                            "opticians_eyeglasses",
                            "optometrists_ophthalmologist",
                            "orthopedic_goods_prosthetic_devices",
                            "osteopaths",
                            "package_stores_beer_wine_and_liquor",
                            "paints_varnishes_and_supplies",
                            "parking_lots_garages",
                            "passenger_railways",
                            "pawn_shops",
                            "pet_shops_pet_food_and_supplies",
                            "petroleum_and_petroleum_products",
                            "photo_developing",
                            "photographic_photocopy_microfilm_equipment_and_supplies",
                            "photographic_studios",
                            "picture_video_production",
                            "piece_goods_notions_and_other_dry_goods",
                            "plumbing_heating_equipment_and_supplies",
                            "political_organizations",
                            "postal_services_government_only",
                            "precious_stones_and_metals_watches_and_jewelry",
                            "professional_services",
                            "public_warehousing_and_storage",
                            "quick_copy_repro_and_blueprint",
                            "railroads",
                            "real_estate_agents_and_managers_rentals",
                            "record_stores",
                            "recreational_vehicle_rentals",
                            "religious_goods_stores",
                            "religious_organizations",
                            "roofing_siding_sheet_metal",
                            "secretarial_support_services",
                            "security_brokers_dealers",
                            "service_stations",
                            "sewing_needlework_fabric_and_piece_goods_stores",
                            "shoe_repair_hat_cleaning",
                            "shoe_stores",
                            "small_appliance_repair",
                            "snowmobile_dealers",
                            "special_trade_services",
                            "specialty_cleaning",
                            "sporting_goods_stores",
                            "sporting_recreation_camps",
                            "sports_and_riding_apparel_stores",
                            "sports_clubs_fields",
                            "stamp_and_coin_stores",
                            "stationary_office_supplies_printing_and_writing_paper",
                            "stationery_stores_office_and_school_supply_stores",
                            "swimming_pools_sales",
                            "t_ui_travel_germany",
                            "tailors_alterations",
                            "tax_payments_government_agencies",
                            "tax_preparation_services",
                            "taxicabs_limousines",
                            "telecommunication_equipment_and_telephone_sales",
                            "telecommunication_services",
                            "telegraph_services",
                            "tent_and_awning_shops",
                            "testing_laboratories",
                            "theatrical_ticket_agencies",
                            "timeshares",
                            "tire_retreading_and_repair",
                            "tolls_bridge_fees",
                            "tourist_attractions_and_exhibits",
                            "towing_services",
                            "trailer_parks_campgrounds",
                            "transportation_services",
                            "travel_agencies_tour_operators",
                            "truck_stop_iteration",
                            "truck_utility_trailer_rentals",
                            "typesetting_plate_making_and_related_services",
                            "typewriter_stores",
                            "u_s_federal_government_agencies_or_departments",
                            "uniforms_commercial_clothing",
                            "used_merchandise_and_secondhand_stores",
                            "utilities",
                            "variety_stores",
                            "veterinary_services",
                            "video_amusement_game_supplies",
                            "video_game_arcades",
                            "video_tape_rental_stores",
                            "vocational_trade_schools",
                            "watch_jewelry_repair",
                            "welding_repair",
                            "wholesale_clubs",
                            "wig_and_toupee_stores",
                            "wires_money_orders",
                            "womens_accessory_and_specialty_shops",
                            "womens_ready_to_wear_stores",
                            "wrecking_and_salvage_yards"
                          ],
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "spending_limits": {
                        "items": {
                          "properties": {
                            "amount": {
                              "type": "integer"
                            },
                            "categories": {
                              "items": {
                                "enum": [
                                  "ac_refrigeration_repair",
                                  "accounting_bookkeeping_services",
                                  "advertising_services",
                                  "agricultural_cooperative",
                                  "airlines_air_carriers",
                                  "airports_flying_fields",
                                  "ambulance_services",
                                  "amusement_parks_carnivals",
                                  "antique_reproductions",
                                  "antique_shops",
                                  "aquariums",
                                  "architectural_surveying_services",
                                  "art_dealers_and_galleries",
                                  "artists_supply_and_craft_shops",
                                  "auto_and_home_supply_stores",
                                  "auto_body_repair_shops",
                                  "auto_paint_shops",
                                  "auto_service_shops",
                                  "automated_cash_disburse",
                                  "automated_fuel_dispensers",
                                  "automobile_associations",
                                  "automotive_parts_and_accessories_stores",
                                  "automotive_tire_stores",
                                  "bail_and_bond_payments",
                                  "bakeries",
                                  "bands_orchestras",
                                  "barber_and_beauty_shops",
                                  "betting_casino_gambling",
                                  "bicycle_shops",
                                  "billiard_pool_establishments",
                                  "boat_dealers",
                                  "boat_rentals_and_leases",
                                  "book_stores",
                                  "books_periodicals_and_newspapers",
                                  "bowling_alleys",
                                  "bus_lines",
                                  "business_secretarial_schools",
                                  "buying_shopping_services",
                                  "cable_satellite_and_other_pay_television_and_radio",
                                  "camera_and_photographic_supply_stores",
                                  "candy_nut_and_confectionery_stores",
                                  "car_and_truck_dealers_new_used",
                                  "car_and_truck_dealers_used_only",
                                  "car_rental_agencies",
                                  "car_washes",
                                  "carpentry_services",
                                  "carpet_upholstery_cleaning",
                                  "caterers",
                                  "charitable_and_social_service_organizations_fundraising",
                                  "chemicals_and_allied_products",
                                  "child_care_services",
                                  "childrens_and_infants_wear_stores",
                                  "chiropodists_podiatrists",
                                  "chiropractors",
                                  "cigar_stores_and_stands",
                                  "civic_social_fraternal_associations",
                                  "cleaning_and_maintenance",
                                  "clothing_rental",
                                  "colleges_universities",
                                  "commercial_equipment",
                                  "commercial_footwear",
                                  "commercial_photography_art_and_graphics",
                                  "commuter_transport_and_ferries",
                                  "computer_network_services",
                                  "computer_programming",
                                  "computer_repair",
                                  "computer_software_stores",
                                  "computers_peripherals_and_software",
                                  "concrete_work_services",
                                  "construction_materials",
                                  "consulting_public_relations",
                                  "correspondence_schools",
                                  "cosmetic_stores",
                                  "counseling_services",
                                  "country_clubs",
                                  "courier_services",
                                  "court_costs",
                                  "credit_reporting_agencies",
                                  "cruise_lines",
                                  "dairy_products_stores",
                                  "dance_hall_studios_schools",
                                  "dating_escort_services",
                                  "dentists_orthodontists",
                                  "department_stores",
                                  "detective_agencies",
                                  "digital_goods_applications",
                                  "digital_goods_games",
                                  "digital_goods_large_volume",
                                  "digital_goods_media",
                                  "direct_marketing_catalog_merchant",
                                  "direct_marketing_combination_catalog_and_retail_merchant",
                                  "direct_marketing_inbound_telemarketing",
                                  "direct_marketing_insurance_services",
                                  "direct_marketing_other",
                                  "direct_marketing_outbound_telemarketing",
                                  "direct_marketing_subscription",
                                  "direct_marketing_travel",
                                  "discount_stores",
                                  "doctors",
                                  "door_to_door_sales",
                                  "drapery_window_covering_and_upholstery_stores",
                                  "drinking_places",
                                  "drug_stores_and_pharmacies",
                                  "drugs_drug_proprietaries_and_druggist_sundries",
                                  "dry_cleaners",
                                  "durable_goods",
                                  "duty_free_stores",
                                  "eating_places_restaurants",
                                  "educational_services",
                                  "electric_razor_stores",
                                  "electrical_parts_and_equipment",
                                  "electrical_services",
                                  "electronics_repair_shops",
                                  "electronics_stores",
                                  "elementary_secondary_schools",
                                  "employment_temp_agencies",
                                  "equipment_rental",
                                  "exterminating_services",
                                  "family_clothing_stores",
                                  "fast_food_restaurants",
                                  "financial_institutions",
                                  "fines_government_administrative_entities",
                                  "fireplace_fireplace_screens_and_accessories_stores",
                                  "floor_covering_stores",
                                  "florists",
                                  "florists_supplies_nursery_stock_and_flowers",
                                  "freezer_and_locker_meat_provisioners",
                                  "fuel_dealers_non_automotive",
                                  "funeral_services_crematories",
                                  "furniture_home_furnishings_and_equipment_stores_except_appliances",
                                  "furniture_repair_refinishing",
                                  "furriers_and_fur_shops",
                                  "general_services",
                                  "gift_card_novelty_and_souvenir_shops",
                                  "glass_paint_and_wallpaper_stores",
                                  "glassware_crystal_stores",
                                  "golf_courses_public",
                                  "government_services",
                                  "grocery_stores_supermarkets",
                                  "hardware_equipment_and_supplies",
                                  "hardware_stores",
                                  "health_and_beauty_spas",
                                  "hearing_aids_sales_and_supplies",
                                  "heating_plumbing_a_c",
                                  "hobby_toy_and_game_shops",
                                  "home_supply_warehouse_stores",
                                  "hospitals",
                                  "hotels_motels_and_resorts",
                                  "household_appliance_stores",
                                  "industrial_supplies",
                                  "information_retrieval_services",
                                  "insurance_default",
                                  "insurance_underwriting_premiums",
                                  "intra_company_purchases",
                                  "jewelry_stores_watches_clocks_and_silverware_stores",
                                  "landscaping_services",
                                  "laundries",
                                  "laundry_cleaning_services",
                                  "legal_services_attorneys",
                                  "luggage_and_leather_goods_stores",
                                  "lumber_building_materials_stores",
                                  "manual_cash_disburse",
                                  "marinas_service_and_supplies",
                                  "masonry_stonework_and_plaster",
                                  "massage_parlors",
                                  "medical_and_dental_labs",
                                  "medical_dental_ophthalmic_and_hospital_equipment_and_supplies",
                                  "medical_services",
                                  "membership_organizations",
                                  "mens_and_boys_clothing_and_accessories_stores",
                                  "mens_womens_clothing_stores",
                                  "metal_service_centers",
                                  "miscellaneous",
                                  "miscellaneous_apparel_and_accessory_shops",
                                  "miscellaneous_auto_dealers",
                                  "miscellaneous_business_services",
                                  "miscellaneous_food_stores",
                                  "miscellaneous_general_merchandise",
                                  "miscellaneous_general_services",
                                  "miscellaneous_home_furnishing_specialty_stores",
                                  "miscellaneous_publishing_and_printing",
                                  "miscellaneous_recreation_services",
                                  "miscellaneous_repair_shops",
                                  "miscellaneous_specialty_retail",
                                  "mobile_home_dealers",
                                  "motion_picture_theaters",
                                  "motor_freight_carriers_and_trucking",
                                  "motor_homes_dealers",
                                  "motor_vehicle_supplies_and_new_parts",
                                  "motorcycle_shops_and_dealers",
                                  "motorcycle_shops_dealers",
                                  "music_stores_musical_instruments_pianos_and_sheet_music",
                                  "news_dealers_and_newsstands",
                                  "non_fi_money_orders",
                                  "non_fi_stored_value_card_purchase_load",
                                  "nondurable_goods",
                                  "nurseries_lawn_and_garden_supply_stores",
                                  "nursing_personal_care",
                                  "office_and_commercial_furniture",
                                  "opticians_eyeglasses",
                                  "optometrists_ophthalmologist",
                                  "orthopedic_goods_prosthetic_devices",
                                  "osteopaths",
                                  "package_stores_beer_wine_and_liquor",
                                  "paints_varnishes_and_supplies",
                                  "parking_lots_garages",
                                  "passenger_railways",
                                  "pawn_shops",
                                  "pet_shops_pet_food_and_supplies",
                                  "petroleum_and_petroleum_products",
                                  "photo_developing",
                                  "photographic_photocopy_microfilm_equipment_and_supplies",
                                  "photographic_studios",
                                  "picture_video_production",
                                  "piece_goods_notions_and_other_dry_goods",
                                  "plumbing_heating_equipment_and_supplies",
                                  "political_organizations",
                                  "postal_services_government_only",
                                  "precious_stones_and_metals_watches_and_jewelry",
                                  "professional_services",
                                  "public_warehousing_and_storage",
                                  "quick_copy_repro_and_blueprint",
                                  "railroads",
                                  "real_estate_agents_and_managers_rentals",
                                  "record_stores",
                                  "recreational_vehicle_rentals",
                                  "religious_goods_stores",
                                  "religious_organizations",
                                  "roofing_siding_sheet_metal",
                                  "secretarial_support_services",
                                  "security_brokers_dealers",
                                  "service_stations",
                                  "sewing_needlework_fabric_and_piece_goods_stores",
                                  "shoe_repair_hat_cleaning",
                                  "shoe_stores",
                                  "small_appliance_repair",
                                  "snowmobile_dealers",
                                  "special_trade_services",
                                  "specialty_cleaning",
                                  "sporting_goods_stores",
                                  "sporting_recreation_camps",
                                  "sports_and_riding_apparel_stores",
                                  "sports_clubs_fields",
                                  "stamp_and_coin_stores",
                                  "stationary_office_supplies_printing_and_writing_paper",
                                  "stationery_stores_office_and_school_supply_stores",
                                  "swimming_pools_sales",
                                  "t_ui_travel_germany",
                                  "tailors_alterations",
                                  "tax_payments_government_agencies",
                                  "tax_preparation_services",
                                  "taxicabs_limousines",
                                  "telecommunication_equipment_and_telephone_sales",
                                  "telecommunication_services",
                                  "telegraph_services",
                                  "tent_and_awning_shops",
                                  "testing_laboratories",
                                  "theatrical_ticket_agencies",
                                  "timeshares",
                                  "tire_retreading_and_repair",
                                  "tolls_bridge_fees",
                                  "tourist_attractions_and_exhibits",
                                  "towing_services",
                                  "trailer_parks_campgrounds",
                                  "transportation_services",
                                  "travel_agencies_tour_operators",
                                  "truck_stop_iteration",
                                  "truck_utility_trailer_rentals",
                                  "typesetting_plate_making_and_related_services",
                                  "typewriter_stores",
                                  "u_s_federal_government_agencies_or_departments",
                                  "uniforms_commercial_clothing",
                                  "used_merchandise_and_secondhand_stores",
                                  "utilities",
                                  "variety_stores",
                                  "veterinary_services",
                                  "video_amusement_game_supplies",
                                  "video_game_arcades",
                                  "video_tape_rental_stores",
                                  "vocational_trade_schools",
                                  "watch_jewelry_repair",
                                  "welding_repair",
                                  "wholesale_clubs",
                                  "wig_and_toupee_stores",
                                  "wires_money_orders",
                                  "womens_accessory_and_specialty_shops",
                                  "womens_ready_to_wear_stores",
                                  "wrecking_and_salvage_yards"
                                ],
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "interval": {
                              "enum": ["all_time", "daily", "monthly", "per_authorization", "weekly", "yearly"],
                              "type": "string"
                            }
                          },
                          "required": ["amount", "interval"],
                          "title": "spending_limits_param",
                          "type": "object"
                        },
                        "type": "array"
                      }
                    },
                    "title": "authorization_controls_param",
                    "type": "object"
                  },
                  "status": {
                    "description": "Dictates whether authorizations can be approved on this card. If this card is being canceled because it was lost or stolen, this information should be provided as `cancellation_reason`.",
                    "enum": ["active", "canceled", "inactive"],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.card"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/disputes": {
      "get": {
        "description": "<p>Returns a list of Issuing <code>Dispute</code> objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.</p>",
        "operationId": "GetIssuingDisputes",
        "parameters": [
          {
            "description": "Select Issuing disputes that were created during the given date interval.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Select Issuing disputes with the given status.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "enum": ["expired", "lost", "submitted", "unsubmitted", "won"],
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Select the Issuing dispute for the given transaction.",
            "in": "query",
            "name": "transaction",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/issuing.dispute"
                      },
                      "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/issuing/disputes",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "IssuingDisputeList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates an Issuing <code>Dispute</code> object. Individual pieces of evidence within the <code>evidence</code> object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to <a href=\"/docs/issuing/purchases/disputes#dispute-reasons-and-evidence\">Dispute reasons and evidence</a> for more details about evidence requirements.</p>",
        "operationId": "PostIssuingDisputes",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "evidence": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "evidence": {
                    "description": "Evidence provided for the dispute.",
                    "properties": {
                      "canceled": {
                        "anyOf": [
                          {
                            "properties": {
                              "additional_documentation": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "canceled_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "cancellation_policy_provided": {
                                "anyOf": [
                                  {
                                    "type": "boolean"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "cancellation_reason": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "expected_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "explanation": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "product_description": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "product_type": {
                                "enum": ["", "merchandise", "service"],
                                "type": "string"
                              },
                              "return_status": {
                                "enum": ["", "merchant_rejected", "successful"],
                                "type": "string"
                              },
                              "returned_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              }
                            },
                            "title": "canceled",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "duplicate": {
                        "anyOf": [
                          {
                            "properties": {
                              "additional_documentation": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "card_statement": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "cash_receipt": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "check_image": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "explanation": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "original_transaction": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "duplicate",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "fraudulent": {
                        "anyOf": [
                          {
                            "properties": {
                              "additional_documentation": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "explanation": {
                                "maxLength": 1500,
                                "type": "string"
                              }
                            },
                            "title": "fraudulent",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "merchandise_not_as_described": {
                        "anyOf": [
                          {
                            "properties": {
                              "additional_documentation": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "explanation": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "received_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "return_description": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "return_status": {
                                "enum": ["", "merchant_rejected", "successful"],
                                "type": "string"
                              },
                              "returned_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              }
                            },
                            "title": "merchandise_not_as_described",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "not_received": {
                        "anyOf": [
                          {
                            "properties": {
                              "additional_documentation": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "expected_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "explanation": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "product_description": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "product_type": {
                                "enum": ["", "merchandise", "service"],
                                "type": "string"
                              }
                            },
                            "title": "not_received",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "other": {
                        "anyOf": [
                          {
                            "properties": {
                              "additional_documentation": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "explanation": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "product_description": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "product_type": {
                                "enum": ["", "merchandise", "service"],
                                "type": "string"
                              }
                            },
                            "title": "other",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "reason": {
                        "enum": [
                          "canceled",
                          "duplicate",
                          "fraudulent",
                          "merchandise_not_as_described",
                          "not_received",
                          "other",
                          "service_not_as_described"
                        ],
                        "type": "string",
                        "x-stripeBypassValidation": true
                      },
                      "service_not_as_described": {
                        "anyOf": [
                          {
                            "properties": {
                              "additional_documentation": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "canceled_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "cancellation_reason": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "explanation": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "received_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              }
                            },
                            "title": "service_not_as_described",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      }
                    },
                    "title": "evidence_param",
                    "type": "object"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "transaction": {
                    "description": "The ID of the issuing transaction to create a dispute for.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "required": ["transaction"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.dispute"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/disputes/{dispute}": {
      "get": {
        "description": "<p>Retrieves an Issuing <code>Dispute</code> object.</p>",
        "operationId": "GetIssuingDisputesDispute",
        "parameters": [
          {
            "in": "path",
            "name": "dispute",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.dispute"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified Issuing <code>Dispute</code> object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Properties on the <code>evidence</code> object can be unset by passing in an empty string.</p>",
        "operationId": "PostIssuingDisputesDispute",
        "parameters": [
          {
            "in": "path",
            "name": "dispute",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "evidence": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "evidence": {
                    "description": "Evidence provided for the dispute.",
                    "properties": {
                      "canceled": {
                        "anyOf": [
                          {
                            "properties": {
                              "additional_documentation": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "canceled_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "cancellation_policy_provided": {
                                "anyOf": [
                                  {
                                    "type": "boolean"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "cancellation_reason": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "expected_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "explanation": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "product_description": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "product_type": {
                                "enum": ["", "merchandise", "service"],
                                "type": "string"
                              },
                              "return_status": {
                                "enum": ["", "merchant_rejected", "successful"],
                                "type": "string"
                              },
                              "returned_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              }
                            },
                            "title": "canceled",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "duplicate": {
                        "anyOf": [
                          {
                            "properties": {
                              "additional_documentation": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "card_statement": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "cash_receipt": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "check_image": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "explanation": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "original_transaction": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "duplicate",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "fraudulent": {
                        "anyOf": [
                          {
                            "properties": {
                              "additional_documentation": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "explanation": {
                                "maxLength": 1500,
                                "type": "string"
                              }
                            },
                            "title": "fraudulent",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "merchandise_not_as_described": {
                        "anyOf": [
                          {
                            "properties": {
                              "additional_documentation": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "explanation": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "received_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "return_description": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "return_status": {
                                "enum": ["", "merchant_rejected", "successful"],
                                "type": "string"
                              },
                              "returned_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              }
                            },
                            "title": "merchandise_not_as_described",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "not_received": {
                        "anyOf": [
                          {
                            "properties": {
                              "additional_documentation": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "expected_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "explanation": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "product_description": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "product_type": {
                                "enum": ["", "merchandise", "service"],
                                "type": "string"
                              }
                            },
                            "title": "not_received",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "other": {
                        "anyOf": [
                          {
                            "properties": {
                              "additional_documentation": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "explanation": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "product_description": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "product_type": {
                                "enum": ["", "merchandise", "service"],
                                "type": "string"
                              }
                            },
                            "title": "other",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "reason": {
                        "enum": [
                          "canceled",
                          "duplicate",
                          "fraudulent",
                          "merchandise_not_as_described",
                          "not_received",
                          "other",
                          "service_not_as_described"
                        ],
                        "type": "string",
                        "x-stripeBypassValidation": true
                      },
                      "service_not_as_described": {
                        "anyOf": [
                          {
                            "properties": {
                              "additional_documentation": {
                                "anyOf": [
                                  {
                                    "type": "string"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "canceled_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "cancellation_reason": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "explanation": {
                                "maxLength": 1500,
                                "type": "string"
                              },
                              "received_at": {
                                "anyOf": [
                                  {
                                    "format": "unix-time",
                                    "type": "integer"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              }
                            },
                            "title": "service_not_as_described",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      }
                    },
                    "title": "evidence_param",
                    "type": "object"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.dispute"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/disputes/{dispute}/submit": {
      "post": {
        "description": "<p>Submits an Issuing <code>Dispute</code> to the card network. Stripe validates that all evidence fields required for the dispute’s reason are present. For more details, see <a href=\"/docs/issuing/purchases/disputes#dispute-reasons-and-evidence\">Dispute reasons and evidence</a>.</p>",
        "operationId": "PostIssuingDisputesDisputeSubmit",
        "parameters": [
          {
            "in": "path",
            "name": "dispute",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.dispute"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/settlements": {
      "get": {
        "description": "<p>Returns a list of Issuing <code>Settlement</code> objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.</p>",
        "operationId": "GetIssuingSettlements",
        "parameters": [
          {
            "description": "Only return issuing settlements that were created during the given date interval.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/issuing.settlement"
                      },
                      "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/issuing/settlements",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/settlements/{settlement}": {
      "get": {
        "description": "<p>Retrieves an Issuing <code>Settlement</code> object.</p>",
        "operationId": "GetIssuingSettlementsSettlement",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "settlement",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.settlement"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified Issuing <code>Settlement</code> object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>",
        "operationId": "PostIssuingSettlementsSettlement",
        "parameters": [
          {
            "in": "path",
            "name": "settlement",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.settlement"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/transactions": {
      "get": {
        "description": "<p>Returns a list of Issuing <code>Transaction</code> objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.</p>",
        "operationId": "GetIssuingTransactions",
        "parameters": [
          {
            "description": "Only return transactions that belong to the given card.",
            "in": "query",
            "name": "card",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return transactions that belong to the given cardholder.",
            "in": "query",
            "name": "cardholder",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return transactions that were created during the given date interval.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return transactions that have the given type. One of `capture` or `refund`.",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "enum": ["capture", "refund"],
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/issuing.transaction"
                      },
                      "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/issuing/transactions",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/issuing/transactions/{transaction}": {
      "get": {
        "description": "<p>Retrieves an Issuing <code>Transaction</code> object.</p>",
        "operationId": "GetIssuingTransactionsTransaction",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "transaction",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.transaction"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified Issuing <code>Transaction</code> object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>",
        "operationId": "PostIssuingTransactionsTransaction",
        "parameters": [
          {
            "in": "path",
            "name": "transaction",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/issuing.transaction"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/mandates/{mandate}": {
      "get": {
        "description": "<p>Retrieves a Mandate object.</p>",
        "operationId": "GetMandatesMandate",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "mandate",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/mandate"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/order_returns": {
      "get": {
        "description": "<p>Returns a list of your order returns. The returns are returned sorted by creation date, with the most recently created return appearing first.</p>",
        "operationId": "GetOrderReturns",
        "parameters": [
          {
            "description": "Date this return was created.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "The order to retrieve returns for.",
            "in": "query",
            "name": "order",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/order_return"
                      },
                      "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/order_returns",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/order_returns/{id}": {
      "get": {
        "description": "<p>Retrieves the details of an existing order return. Supply the unique order ID from either an order return creation request or the order return list, and Stripe will return the corresponding order information.</p>",
        "operationId": "GetOrderReturnsId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/order_return"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/orders": {
      "get": {
        "description": "<p>Returns a list of your orders. The orders are returned sorted by creation date, with the most recently created orders appearing first.</p>",
        "operationId": "GetOrders",
        "parameters": [
          {
            "description": "Date this order was created.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return orders for the given customer.",
            "in": "query",
            "name": "customer",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "Only return orders with the given IDs.",
            "explode": true,
            "in": "query",
            "name": "ids",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return orders that have the given status. One of `created`, `paid`, `fulfilled`, or `refunded`.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Filter orders based on when they were paid, fulfilled, canceled, or returned.",
            "explode": true,
            "in": "query",
            "name": "status_transitions",
            "required": false,
            "schema": {
              "properties": {
                "canceled": {
                  "anyOf": [
                    {
                      "properties": {
                        "gt": {
                          "type": "integer"
                        },
                        "gte": {
                          "type": "integer"
                        },
                        "lt": {
                          "type": "integer"
                        },
                        "lte": {
                          "type": "integer"
                        }
                      },
                      "title": "range_query_specs",
                      "type": "object"
                    },
                    {
                      "type": "integer"
                    }
                  ]
                },
                "fulfilled": {
                  "anyOf": [
                    {
                      "properties": {
                        "gt": {
                          "type": "integer"
                        },
                        "gte": {
                          "type": "integer"
                        },
                        "lt": {
                          "type": "integer"
                        },
                        "lte": {
                          "type": "integer"
                        }
                      },
                      "title": "range_query_specs",
                      "type": "object"
                    },
                    {
                      "type": "integer"
                    }
                  ]
                },
                "paid": {
                  "anyOf": [
                    {
                      "properties": {
                        "gt": {
                          "type": "integer"
                        },
                        "gte": {
                          "type": "integer"
                        },
                        "lt": {
                          "type": "integer"
                        },
                        "lte": {
                          "type": "integer"
                        }
                      },
                      "title": "range_query_specs",
                      "type": "object"
                    },
                    {
                      "type": "integer"
                    }
                  ]
                },
                "returned": {
                  "anyOf": [
                    {
                      "properties": {
                        "gt": {
                          "type": "integer"
                        },
                        "gte": {
                          "type": "integer"
                        },
                        "lt": {
                          "type": "integer"
                        },
                        "lte": {
                          "type": "integer"
                        }
                      },
                      "title": "range_query_specs",
                      "type": "object"
                    },
                    {
                      "type": "integer"
                    }
                  ]
                }
              },
              "title": "order_timestamp_specs",
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "description": "Only return orders with the given upstream order IDs.",
            "explode": true,
            "in": "query",
            "name": "upstream_ids",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/order"
                      },
                      "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/orders",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new order object.</p>",
        "operationId": "PostOrders",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "items": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "shipping": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "coupon": {
                    "description": "A coupon code that represents a discount to be applied to this order. Must be one-time duration and in same currency as the order. An order can have multiple coupons.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "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).",
                    "type": "string"
                  },
                  "customer": {
                    "description": "The ID of an existing customer to use for this order. If provided, the customer email and shipping address will be used to create the order. Subsequently, the customer will also be charged to pay the order. If `email` or `shipping` are also provided, they will override the values retrieved from the customer object.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "email": {
                    "description": "The email address of the customer placing the order.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "items": {
                    "description": "List of items constituting the order. An order can have up to 25 items.",
                    "items": {
                      "properties": {
                        "amount": {
                          "type": "integer"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "description": {
                          "maxLength": 1000,
                          "type": "string"
                        },
                        "parent": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "quantity": {
                          "type": "integer"
                        },
                        "type": {
                          "enum": ["discount", "shipping", "sku", "tax"],
                          "maxLength": 5000,
                          "type": "string"
                        }
                      },
                      "title": "order_item_specs",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "shipping": {
                    "description": "Shipping address for the order. Required if any of the SKUs are for products that have `shippable` set to true.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["line1"],
                        "title": "address",
                        "type": "object"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "phone": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "required": ["address", "name"],
                    "title": "customer_shipping",
                    "type": "object"
                  }
                },
                "required": ["currency"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/order"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/orders/{id}": {
      "get": {
        "description": "<p>Retrieves the details of an existing order. Supply the unique order ID from either an order creation request or the order list, and Stripe will return the corresponding order information.</p>",
        "operationId": "GetOrdersId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/order"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specific order by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>",
        "operationId": "PostOrdersId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "shipping": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "coupon": {
                    "description": "A coupon code that represents a discount to be applied to this order. Must be one-time duration and in same currency as the order. An order can have multiple coupons.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "selected_shipping_method": {
                    "description": "The shipping method to select for fulfilling this order. If specified, must be one of the `id`s of a shipping method in the `shipping_methods` array. If specified, will overwrite the existing selected shipping method, updating `items` as necessary.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "shipping": {
                    "description": "Tracking information once the order has been fulfilled.",
                    "properties": {
                      "carrier": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "tracking_number": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "required": ["carrier", "tracking_number"],
                    "title": "shipping_tracking_params",
                    "type": "object"
                  },
                  "status": {
                    "description": "Current order status. One of `created`, `paid`, `canceled`, `fulfilled`, or `returned`. More detail in the [Orders Guide](https://stripe.com/docs/orders/guide#understanding-order-statuses).",
                    "enum": ["canceled", "created", "fulfilled", "paid", "returned"],
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/order"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/orders/{id}/pay": {
      "post": {
        "description": "<p>Pay an order by providing a <code>source</code> to create a payment.</p>",
        "operationId": "PostOrdersIdPay",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "application_fee": {
                    "description": "A fee in %s that will be applied to the order and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the `Stripe-Account` header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/connect/direct-charges#collecting-fees).",
                    "type": "integer"
                  },
                  "customer": {
                    "description": "The ID of an existing customer that will be charged for this order. If no customer was attached to the order at creation, either `source` or `customer` is required. Otherwise, the specified customer will be charged instead of the one attached to the order.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "email": {
                    "description": "The email address of the customer placing the order. Required if not previously specified for the order.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "source": {
                    "description": "A [Token](https://stripe.com/docs/api#tokens)'s or a [Source](https://stripe.com/docs/api#sources)'s ID, as returned by [Elements](https://stripe.com/docs/elements). If no customer was attached to the order at creation, either `source` or `customer` is required. Otherwise, the specified source will be charged intead of the customer attached to the order.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/order"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/orders/{id}/returns": {
      "post": {
        "description": "<p>Return all or part of an order. The order must have a status of <code>paid</code> or <code>fulfilled</code> before it can be returned. Once all items have been returned, the order will become <code>canceled</code> or <code>returned</code> depending on which status the order started in.</p>",
        "operationId": "PostOrdersIdReturns",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "items": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "items": {
                    "anyOf": [
                      {
                        "items": {
                          "properties": {
                            "amount": {
                              "type": "integer"
                            },
                            "description": {
                              "maxLength": 1000,
                              "type": "string"
                            },
                            "parent": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "quantity": {
                              "type": "integer"
                            },
                            "type": {
                              "enum": ["discount", "shipping", "sku", "tax"],
                              "maxLength": 5000,
                              "type": "string"
                            }
                          },
                          "title": "return_order_item_specs",
                          "type": "object"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "List of items to return."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/order_return"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/payment_intents": {
      "get": {
        "description": "<p>Returns a list of PaymentIntents.</p>",
        "operationId": "GetPaymentIntents",
        "parameters": [
          {
            "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return PaymentIntents for the customer specified by this customer ID.",
            "in": "query",
            "name": "customer",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/payment_intent"
                      },
                      "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/payment_intents",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "PaymentFlowsPaymentIntentList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a PaymentIntent object.</p>\n\n<p>After the PaymentIntent is created, attach a payment method and <a href=\"/docs/api/payment_intents/confirm\">confirm</a>\nto continue the payment. You can read more about the different payment flows\navailable via the Payment Intents API <a href=\"/docs/payments/payment-intents\">here</a>.</p>\n\n<p>When <code>confirm=true</code> is used during creation, it is equivalent to creating\nand confirming the PaymentIntent in the same call. You may use any parameters\navailable in the <a href=\"/docs/api/payment_intents/confirm\">confirm API</a> when <code>confirm=true</code>\nis supplied.</p>",
        "operationId": "PostPaymentIntents",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "mandate_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "off_session": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_options": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_types": {
                  "explode": true,
                  "style": "deepObject"
                },
                "shipping": {
                  "explode": true,
                  "style": "deepObject"
                },
                "transfer_data": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).",
                    "type": "integer"
                  },
                  "application_fee_amount": {
                    "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
                    "type": "integer"
                  },
                  "capture_method": {
                    "description": "Controls when the funds will be captured from the customer's account.",
                    "enum": ["automatic", "manual"],
                    "type": "string"
                  },
                  "confirm": {
                    "description": "Set to `true` to attempt to [confirm](https://stripe.com/docs/api/payment_intents/confirm) this PaymentIntent immediately. This parameter defaults to `false`. When creating and confirming a PaymentIntent at the same time, parameters available in the [confirm](https://stripe.com/docs/api/payment_intents/confirm) API may also be provided.",
                    "type": "boolean"
                  },
                  "confirmation_method": {
                    "enum": ["automatic", "manual"],
                    "type": "string"
                  },
                  "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).",
                    "type": "string"
                  },
                  "customer": {
                    "description": "ID of the Customer this PaymentIntent belongs to, if one exists.\n\nPayment methods attached to other Customers cannot be used with this PaymentIntent.\n\nIf present in combination with [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage), this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "description": {
                    "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
                    "maxLength": 1000,
                    "type": "string"
                  },
                  "error_on_requires_action": {
                    "description": "Set to `true` to fail the payment attempt if the PaymentIntent transitions into `requires_action`. This parameter is intended for simpler integrations that do not handle customer actions, like [saving cards without authentication](https://stripe.com/docs/payments/save-card-without-authentication). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).",
                    "type": "boolean"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "mandate": {
                    "description": "ID of the mandate to be used for this payment. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "mandate_data": {
                    "description": "This hash contains details about the Mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).",
                    "properties": {
                      "customer_acceptance": {
                        "properties": {
                          "accepted_at": {
                            "format": "unix-time",
                            "type": "integer"
                          },
                          "offline": {
                            "properties": {},
                            "title": "offline_param",
                            "type": "object"
                          },
                          "online": {
                            "properties": {
                              "ip_address": {
                                "type": "string"
                              },
                              "user_agent": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "required": ["ip_address", "user_agent"],
                            "title": "online_param",
                            "type": "object"
                          },
                          "type": {
                            "enum": ["offline", "online"],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["type"],
                        "title": "customer_acceptance_param",
                        "type": "object"
                      }
                    },
                    "required": ["customer_acceptance"],
                    "title": "secret_key_param",
                    "type": "object"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "off_session": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "enum": ["one_off", "recurring"],
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "Set to `true` to indicate that the customer is not in your checkout flow during this payment attempt, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards). This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm)."
                  },
                  "on_behalf_of": {
                    "description": "The Stripe account ID for which these funds are intended. For details, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
                    "type": "string"
                  },
                  "payment_method": {
                    "description": "ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent.\n\nIf this parameter is omitted with `confirm=true`, `customer.default_source` will be attached as this PaymentIntent's payment instrument to improve the migration experience for users of the Charges API. We recommend that you explicitly provide the `payment_method` going forward.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "payment_method_data": {
                    "description": "If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear\nin the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method)\nproperty on the PaymentIntent.",
                    "properties": {
                      "afterpay_clearpay": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "alipay": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "au_becs_debit": {
                        "properties": {
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "bsb_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["account_number", "bsb_number"],
                        "title": "param",
                        "type": "object"
                      },
                      "bacs_debit": {
                        "properties": {
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "sort_code": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "param",
                        "type": "object"
                      },
                      "bancontact": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "billing_details": {
                        "properties": {
                          "address": {
                            "anyOf": [
                              {
                                "properties": {
                                  "city": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "country": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "line1": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "line2": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "postal_code": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "state": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  }
                                },
                                "title": "billing_details_address",
                                "type": "object"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          },
                          "email": {
                            "type": "string"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "phone": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "billing_details_inner_params",
                        "type": "object"
                      },
                      "eps": {
                        "properties": {
                          "bank": {
                            "enum": [
                              "arzte_und_apotheker_bank",
                              "austrian_anadi_bank_ag",
                              "bank_austria",
                              "bankhaus_carl_spangler",
                              "bankhaus_schelhammer_und_schattera_ag",
                              "bawag_psk_ag",
                              "bks_bank_ag",
                              "brull_kallmus_bank_ag",
                              "btv_vier_lander_bank",
                              "capital_bank_grawe_gruppe_ag",
                              "dolomitenbank",
                              "easybank_ag",
                              "erste_bank_und_sparkassen",
                              "hypo_alpeadriabank_international_ag",
                              "hypo_bank_burgenland_aktiengesellschaft",
                              "hypo_noe_lb_fur_niederosterreich_u_wien",
                              "hypo_oberosterreich_salzburg_steiermark",
                              "hypo_tirol_bank_ag",
                              "hypo_vorarlberg_bank_ag",
                              "marchfelder_bank",
                              "oberbank_ag",
                              "raiffeisen_bankengruppe_osterreich",
                              "schoellerbank_ag",
                              "sparda_bank_wien",
                              "volksbank_gruppe",
                              "volkskreditbank_ag",
                              "vr_bank_braunau"
                            ],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "param",
                        "type": "object"
                      },
                      "fpx": {
                        "properties": {
                          "bank": {
                            "enum": [
                              "affin_bank",
                              "alliance_bank",
                              "ambank",
                              "bank_islam",
                              "bank_muamalat",
                              "bank_rakyat",
                              "bsn",
                              "cimb",
                              "deutsche_bank",
                              "hong_leong_bank",
                              "hsbc",
                              "kfh",
                              "maybank2e",
                              "maybank2u",
                              "ocbc",
                              "pb_enterprise",
                              "public_bank",
                              "rhb",
                              "standard_chartered",
                              "uob"
                            ],
                            "maxLength": 5000,
                            "type": "string",
                            "x-stripeBypassValidation": true
                          }
                        },
                        "required": ["bank"],
                        "title": "param",
                        "type": "object"
                      },
                      "giropay": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "grabpay": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "ideal": {
                        "properties": {
                          "bank": {
                            "enum": [
                              "abn_amro",
                              "asn_bank",
                              "bunq",
                              "handelsbanken",
                              "ing",
                              "knab",
                              "moneyou",
                              "rabobank",
                              "regiobank",
                              "revolut",
                              "sns_bank",
                              "triodos_bank",
                              "van_lanschot"
                            ],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "param",
                        "type": "object"
                      },
                      "interac_present": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "metadata": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      "oxxo": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "p24": {
                        "properties": {
                          "bank": {
                            "enum": [
                              "alior_bank",
                              "bank_millennium",
                              "bank_nowy_bfg_sa",
                              "bank_pekao_sa",
                              "banki_spbdzielcze",
                              "blik",
                              "bnp_paribas",
                              "boz",
                              "citi_handlowy",
                              "credit_agricole",
                              "envelobank",
                              "etransfer_pocztowy24",
                              "getin_bank",
                              "ideabank",
                              "ing",
                              "inteligo",
                              "mbank_mtransfer",
                              "nest_przelew",
                              "noble_pay",
                              "pbac_z_ipko",
                              "plus_bank",
                              "santander_przelew24",
                              "tmobile_usbugi_bankowe",
                              "toyota_bank",
                              "volkswagen_bank"
                            ],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "param",
                        "type": "object"
                      },
                      "sepa_debit": {
                        "properties": {
                          "iban": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["iban"],
                        "title": "param",
                        "type": "object"
                      },
                      "sofort": {
                        "properties": {
                          "country": {
                            "enum": ["AT", "BE", "DE", "ES", "IT", "NL"],
                            "type": "string"
                          }
                        },
                        "required": ["country"],
                        "title": "param",
                        "type": "object"
                      },
                      "type": {
                        "enum": [
                          "afterpay_clearpay",
                          "alipay",
                          "au_becs_debit",
                          "bacs_debit",
                          "bancontact",
                          "eps",
                          "fpx",
                          "giropay",
                          "grabpay",
                          "ideal",
                          "oxxo",
                          "p24",
                          "sepa_debit",
                          "sofort"
                        ],
                        "type": "string",
                        "x-stripeBypassValidation": true
                      }
                    },
                    "required": ["type"],
                    "title": "payment_method_data_params",
                    "type": "object"
                  },
                  "payment_method_options": {
                    "description": "Payment-method-specific configuration for this PaymentIntent.",
                    "properties": {
                      "alipay": {
                        "anyOf": [
                          {
                            "properties": {},
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "bancontact": {
                        "anyOf": [
                          {
                            "properties": {
                              "preferred_language": {
                                "enum": ["de", "en", "fr", "nl"],
                                "type": "string"
                              }
                            },
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "card": {
                        "anyOf": [
                          {
                            "properties": {
                              "cvc_token": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "installments": {
                                "properties": {
                                  "enabled": {
                                    "type": "boolean"
                                  },
                                  "plan": {
                                    "anyOf": [
                                      {
                                        "properties": {
                                          "count": {
                                            "type": "integer"
                                          },
                                          "interval": {
                                            "enum": ["month"],
                                            "type": "string"
                                          },
                                          "type": {
                                            "enum": ["fixed_count"],
                                            "type": "string"
                                          }
                                        },
                                        "required": ["count", "interval", "type"],
                                        "title": "installment_plan",
                                        "type": "object"
                                      },
                                      {
                                        "enum": [""],
                                        "type": "string"
                                      }
                                    ]
                                  }
                                },
                                "title": "installments_param",
                                "type": "object"
                              },
                              "network": {
                                "enum": [
                                  "amex",
                                  "cartes_bancaires",
                                  "diners",
                                  "discover",
                                  "interac",
                                  "jcb",
                                  "mastercard",
                                  "unionpay",
                                  "unknown",
                                  "visa"
                                ],
                                "maxLength": 5000,
                                "type": "string",
                                "x-stripeBypassValidation": true
                              },
                              "request_three_d_secure": {
                                "enum": ["any", "automatic"],
                                "maxLength": 5000,
                                "type": "string",
                                "x-stripeBypassValidation": true
                              }
                            },
                            "title": "payment_intent_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "oxxo": {
                        "anyOf": [
                          {
                            "properties": {
                              "expires_after_days": {
                                "type": "integer"
                              }
                            },
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "p24": {
                        "anyOf": [
                          {
                            "properties": {
                              "tos_shown_and_accepted": {
                                "type": "boolean"
                              }
                            },
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "sepa_debit": {
                        "anyOf": [
                          {
                            "properties": {
                              "mandate_options": {
                                "properties": {},
                                "title": "payment_method_options_mandate_options_param",
                                "type": "object"
                              }
                            },
                            "title": "payment_intent_payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "sofort": {
                        "anyOf": [
                          {
                            "properties": {
                              "preferred_language": {
                                "enum": ["de", "en", "es", "fr", "it", "nl", "pl"],
                                "type": "string"
                              }
                            },
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      }
                    },
                    "title": "payment_method_options_param",
                    "type": "object"
                  },
                  "payment_method_types": {
                    "description": "The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. If this is not provided, defaults to [\"card\"].",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "receipt_email": {
                    "description": "Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails).",
                    "type": "string"
                  },
                  "return_url": {
                    "description": "The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).",
                    "type": "string"
                  },
                  "setup_future_usage": {
                    "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nProviding this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.\n\nWhen processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).",
                    "enum": ["off_session", "on_session"],
                    "type": "string"
                  },
                  "shipping": {
                    "description": "Shipping information for this PaymentIntent.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["line1"],
                        "title": "address",
                        "type": "object"
                      },
                      "carrier": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "phone": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "tracking_number": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "required": ["address", "name"],
                    "title": "shipping",
                    "type": "object"
                  },
                  "statement_descriptor": {
                    "description": "For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.",
                    "maxLength": 22,
                    "type": "string"
                  },
                  "statement_descriptor_suffix": {
                    "description": "Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.",
                    "maxLength": 22,
                    "type": "string"
                  },
                  "transfer_data": {
                    "description": "The parameters used to automatically create a Transfer when the payment succeeds.\nFor more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
                    "properties": {
                      "amount": {
                        "type": "integer"
                      },
                      "destination": {
                        "type": "string"
                      }
                    },
                    "required": ["destination"],
                    "title": "transfer_data_creation_params",
                    "type": "object"
                  },
                  "transfer_group": {
                    "description": "A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details.",
                    "type": "string"
                  },
                  "use_stripe_sdk": {
                    "description": "Set to `true` only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps.",
                    "type": "boolean"
                  }
                },
                "required": ["amount", "currency"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_intent"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/payment_intents/{intent}": {
      "get": {
        "description": "<p>Retrieves the details of a PaymentIntent that has previously been created. </p>\n\n<p>Client-side retrieval using a publishable key is allowed when the <code>client_secret</code> is provided in the query string. </p>\n\n<p>When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the <a href=\"#payment_intent_object\">payment intent</a> object reference for more details.</p>",
        "operationId": "GetPaymentIntentsIntent",
        "parameters": [
          {
            "description": "The client secret of the PaymentIntent. Required if a publishable key is used to retrieve the source.",
            "in": "query",
            "name": "client_secret",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "intent",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_intent"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates properties on a PaymentIntent object without confirming.</p>\n\n<p>Depending on which properties you update, you may need to confirm the\nPaymentIntent again. For example, updating the <code>payment_method</code> will\nalways require you to confirm the PaymentIntent again. If you prefer to\nupdate and confirm at the same time, we recommend updating properties via\nthe <a href=\"/docs/api/payment_intents/confirm\">confirm API</a> instead.</p>",
        "operationId": "PostPaymentIntentsIntent",
        "parameters": [
          {
            "in": "path",
            "name": "intent",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "application_fee_amount": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_options": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_types": {
                  "explode": true,
                  "style": "deepObject"
                },
                "receipt_email": {
                  "explode": true,
                  "style": "deepObject"
                },
                "shipping": {
                  "explode": true,
                  "style": "deepObject"
                },
                "transfer_data": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).",
                    "type": "integer"
                  },
                  "application_fee_amount": {
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts)."
                  },
                  "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).",
                    "type": "string"
                  },
                  "customer": {
                    "description": "ID of the Customer this PaymentIntent belongs to, if one exists.\n\nPayment methods attached to other Customers cannot be used with this PaymentIntent.\n\nIf present in combination with [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage), this PaymentIntent's payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "description": {
                    "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
                    "maxLength": 1000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "payment_method": {
                    "description": "ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "payment_method_data": {
                    "description": "If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear\nin the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method)\nproperty on the PaymentIntent.",
                    "properties": {
                      "afterpay_clearpay": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "alipay": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "au_becs_debit": {
                        "properties": {
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "bsb_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["account_number", "bsb_number"],
                        "title": "param",
                        "type": "object"
                      },
                      "bacs_debit": {
                        "properties": {
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "sort_code": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "param",
                        "type": "object"
                      },
                      "bancontact": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "billing_details": {
                        "properties": {
                          "address": {
                            "anyOf": [
                              {
                                "properties": {
                                  "city": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "country": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "line1": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "line2": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "postal_code": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "state": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  }
                                },
                                "title": "billing_details_address",
                                "type": "object"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          },
                          "email": {
                            "type": "string"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "phone": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "billing_details_inner_params",
                        "type": "object"
                      },
                      "eps": {
                        "properties": {
                          "bank": {
                            "enum": [
                              "arzte_und_apotheker_bank",
                              "austrian_anadi_bank_ag",
                              "bank_austria",
                              "bankhaus_carl_spangler",
                              "bankhaus_schelhammer_und_schattera_ag",
                              "bawag_psk_ag",
                              "bks_bank_ag",
                              "brull_kallmus_bank_ag",
                              "btv_vier_lander_bank",
                              "capital_bank_grawe_gruppe_ag",
                              "dolomitenbank",
                              "easybank_ag",
                              "erste_bank_und_sparkassen",
                              "hypo_alpeadriabank_international_ag",
                              "hypo_bank_burgenland_aktiengesellschaft",
                              "hypo_noe_lb_fur_niederosterreich_u_wien",
                              "hypo_oberosterreich_salzburg_steiermark",
                              "hypo_tirol_bank_ag",
                              "hypo_vorarlberg_bank_ag",
                              "marchfelder_bank",
                              "oberbank_ag",
                              "raiffeisen_bankengruppe_osterreich",
                              "schoellerbank_ag",
                              "sparda_bank_wien",
                              "volksbank_gruppe",
                              "volkskreditbank_ag",
                              "vr_bank_braunau"
                            ],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "param",
                        "type": "object"
                      },
                      "fpx": {
                        "properties": {
                          "bank": {
                            "enum": [
                              "affin_bank",
                              "alliance_bank",
                              "ambank",
                              "bank_islam",
                              "bank_muamalat",
                              "bank_rakyat",
                              "bsn",
                              "cimb",
                              "deutsche_bank",
                              "hong_leong_bank",
                              "hsbc",
                              "kfh",
                              "maybank2e",
                              "maybank2u",
                              "ocbc",
                              "pb_enterprise",
                              "public_bank",
                              "rhb",
                              "standard_chartered",
                              "uob"
                            ],
                            "maxLength": 5000,
                            "type": "string",
                            "x-stripeBypassValidation": true
                          }
                        },
                        "required": ["bank"],
                        "title": "param",
                        "type": "object"
                      },
                      "giropay": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "grabpay": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "ideal": {
                        "properties": {
                          "bank": {
                            "enum": [
                              "abn_amro",
                              "asn_bank",
                              "bunq",
                              "handelsbanken",
                              "ing",
                              "knab",
                              "moneyou",
                              "rabobank",
                              "regiobank",
                              "revolut",
                              "sns_bank",
                              "triodos_bank",
                              "van_lanschot"
                            ],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "param",
                        "type": "object"
                      },
                      "interac_present": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "metadata": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      "oxxo": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "p24": {
                        "properties": {
                          "bank": {
                            "enum": [
                              "alior_bank",
                              "bank_millennium",
                              "bank_nowy_bfg_sa",
                              "bank_pekao_sa",
                              "banki_spbdzielcze",
                              "blik",
                              "bnp_paribas",
                              "boz",
                              "citi_handlowy",
                              "credit_agricole",
                              "envelobank",
                              "etransfer_pocztowy24",
                              "getin_bank",
                              "ideabank",
                              "ing",
                              "inteligo",
                              "mbank_mtransfer",
                              "nest_przelew",
                              "noble_pay",
                              "pbac_z_ipko",
                              "plus_bank",
                              "santander_przelew24",
                              "tmobile_usbugi_bankowe",
                              "toyota_bank",
                              "volkswagen_bank"
                            ],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "param",
                        "type": "object"
                      },
                      "sepa_debit": {
                        "properties": {
                          "iban": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["iban"],
                        "title": "param",
                        "type": "object"
                      },
                      "sofort": {
                        "properties": {
                          "country": {
                            "enum": ["AT", "BE", "DE", "ES", "IT", "NL"],
                            "type": "string"
                          }
                        },
                        "required": ["country"],
                        "title": "param",
                        "type": "object"
                      },
                      "type": {
                        "enum": [
                          "afterpay_clearpay",
                          "alipay",
                          "au_becs_debit",
                          "bacs_debit",
                          "bancontact",
                          "eps",
                          "fpx",
                          "giropay",
                          "grabpay",
                          "ideal",
                          "oxxo",
                          "p24",
                          "sepa_debit",
                          "sofort"
                        ],
                        "type": "string",
                        "x-stripeBypassValidation": true
                      }
                    },
                    "required": ["type"],
                    "title": "payment_method_data_params",
                    "type": "object"
                  },
                  "payment_method_options": {
                    "description": "Payment-method-specific configuration for this PaymentIntent.",
                    "properties": {
                      "alipay": {
                        "anyOf": [
                          {
                            "properties": {},
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "bancontact": {
                        "anyOf": [
                          {
                            "properties": {
                              "preferred_language": {
                                "enum": ["de", "en", "fr", "nl"],
                                "type": "string"
                              }
                            },
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "card": {
                        "anyOf": [
                          {
                            "properties": {
                              "cvc_token": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "installments": {
                                "properties": {
                                  "enabled": {
                                    "type": "boolean"
                                  },
                                  "plan": {
                                    "anyOf": [
                                      {
                                        "properties": {
                                          "count": {
                                            "type": "integer"
                                          },
                                          "interval": {
                                            "enum": ["month"],
                                            "type": "string"
                                          },
                                          "type": {
                                            "enum": ["fixed_count"],
                                            "type": "string"
                                          }
                                        },
                                        "required": ["count", "interval", "type"],
                                        "title": "installment_plan",
                                        "type": "object"
                                      },
                                      {
                                        "enum": [""],
                                        "type": "string"
                                      }
                                    ]
                                  }
                                },
                                "title": "installments_param",
                                "type": "object"
                              },
                              "network": {
                                "enum": [
                                  "amex",
                                  "cartes_bancaires",
                                  "diners",
                                  "discover",
                                  "interac",
                                  "jcb",
                                  "mastercard",
                                  "unionpay",
                                  "unknown",
                                  "visa"
                                ],
                                "maxLength": 5000,
                                "type": "string",
                                "x-stripeBypassValidation": true
                              },
                              "request_three_d_secure": {
                                "enum": ["any", "automatic"],
                                "maxLength": 5000,
                                "type": "string",
                                "x-stripeBypassValidation": true
                              }
                            },
                            "title": "payment_intent_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "oxxo": {
                        "anyOf": [
                          {
                            "properties": {
                              "expires_after_days": {
                                "type": "integer"
                              }
                            },
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "p24": {
                        "anyOf": [
                          {
                            "properties": {
                              "tos_shown_and_accepted": {
                                "type": "boolean"
                              }
                            },
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "sepa_debit": {
                        "anyOf": [
                          {
                            "properties": {
                              "mandate_options": {
                                "properties": {},
                                "title": "payment_method_options_mandate_options_param",
                                "type": "object"
                              }
                            },
                            "title": "payment_intent_payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "sofort": {
                        "anyOf": [
                          {
                            "properties": {
                              "preferred_language": {
                                "enum": ["de", "en", "es", "fr", "it", "nl", "pl"],
                                "type": "string"
                              }
                            },
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      }
                    },
                    "title": "payment_method_options_param",
                    "type": "object"
                  },
                  "payment_method_types": {
                    "description": "The list of payment method types (e.g. card) that this PaymentIntent is allowed to use.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "receipt_email": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails)."
                  },
                  "setup_future_usage": {
                    "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nProviding this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.\n\nWhen processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).\n\nIf `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`.",
                    "enum": ["", "off_session", "on_session"],
                    "type": "string"
                  },
                  "shipping": {
                    "anyOf": [
                      {
                        "properties": {
                          "address": {
                            "properties": {
                              "city": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "required": ["line1"],
                            "title": "address",
                            "type": "object"
                          },
                          "carrier": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "phone": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "tracking_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["address", "name"],
                        "title": "shipping",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "Shipping information for this PaymentIntent."
                  },
                  "statement_descriptor": {
                    "description": "For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.",
                    "maxLength": 22,
                    "type": "string"
                  },
                  "statement_descriptor_suffix": {
                    "description": "Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.",
                    "maxLength": 22,
                    "type": "string"
                  },
                  "transfer_data": {
                    "description": "The parameters used to automatically create a Transfer when the payment succeeds. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
                    "properties": {
                      "amount": {
                        "type": "integer"
                      }
                    },
                    "title": "transfer_data_update_params",
                    "type": "object"
                  },
                  "transfer_group": {
                    "description": "A string that identifies the resulting payment as part of a group. `transfer_group` may only be provided if it has not been set. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts) for details.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_intent"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/payment_intents/{intent}/cancel": {
      "post": {
        "description": "<p>A PaymentIntent object can be canceled when it is in one of these statuses: <code>requires_payment_method</code>, <code>requires_capture</code>, <code>requires_confirmation</code>, or <code>requires_action</code>. </p>\n\n<p>Once canceled, no additional charges will be made by the PaymentIntent and any operations on the PaymentIntent will fail with an error. For PaymentIntents with <code>status=’requires_capture’</code>, the remaining <code>amount_capturable</code> will automatically be refunded.</p>",
        "operationId": "PostPaymentIntentsIntentCancel",
        "parameters": [
          {
            "in": "path",
            "name": "intent",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "cancellation_reason": {
                    "description": "Reason for canceling this PaymentIntent. Possible values are `duplicate`, `fraudulent`, `requested_by_customer`, or `abandoned`",
                    "enum": ["abandoned", "duplicate", "fraudulent", "requested_by_customer"],
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_intent"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/payment_intents/{intent}/capture": {
      "post": {
        "description": "<p>Capture the funds of an existing uncaptured PaymentIntent when its status is <code>requires_capture</code>.</p>\n\n<p>Uncaptured PaymentIntents will be canceled exactly seven days after they are created.</p>\n\n<p>Learn more about <a href=\"/docs/payments/capture-later\">separate authorization and capture</a>.</p>",
        "operationId": "PostPaymentIntentsIntentCapture",
        "parameters": [
          {
            "in": "path",
            "name": "intent",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "transfer_data": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount_to_capture": {
                    "description": "The amount to capture from the PaymentIntent, which must be less than or equal to the original amount. Any additional amount will be automatically refunded. Defaults to the full `amount_capturable` if not provided.",
                    "type": "integer"
                  },
                  "application_fee_amount": {
                    "description": "The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
                    "type": "integer"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "statement_descriptor": {
                    "description": "For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters.",
                    "maxLength": 22,
                    "type": "string"
                  },
                  "statement_descriptor_suffix": {
                    "description": "Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor.",
                    "maxLength": 22,
                    "type": "string"
                  },
                  "transfer_data": {
                    "description": "The parameters used to automatically create a Transfer when the payment\nis captured. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).",
                    "properties": {
                      "amount": {
                        "type": "integer"
                      }
                    },
                    "title": "transfer_data_update_params",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_intent"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/payment_intents/{intent}/confirm": {
      "post": {
        "description": "<p>Confirm that your customer intends to pay with current or provided\npayment method. Upon confirmation, the PaymentIntent will attempt to initiate\na payment.</p>\n\n<p>If the selected payment method requires additional authentication steps, the\nPaymentIntent will transition to the <code>requires_action</code> status and\nsuggest additional actions via <code>next_action</code>. If payment fails,\nthe PaymentIntent will transition to the <code>requires_payment_method</code> status. If\npayment succeeds, the PaymentIntent will transition to the <code>succeeded</code>\nstatus (or <code>requires_capture</code>, if <code>capture_method</code> is set to <code>manual</code>).</p>\n\n<p>If the <code>confirmation_method</code> is <code>automatic</code>, payment may be attempted\nusing our <a href=\"/docs/stripe-js/reference#stripe-handle-card-payment\">client SDKs</a>\nand the PaymentIntent’s <a href=\"#payment_intent_object-client_secret\">client_secret</a>.\nAfter <code>next_action</code>s are handled by the client, no additional\nconfirmation is required to complete the payment.</p>\n\n<p>If the <code>confirmation_method</code> is <code>manual</code>, all payment attempts must be\ninitiated using a secret key.\nIf any actions are required for the payment, the PaymentIntent will\nreturn to the <code>requires_confirmation</code> state\nafter those actions are completed. Your server needs to then\nexplicitly re-confirm the PaymentIntent to initiate the next payment\nattempt. Read the <a href=\"/docs/payments/payment-intents/web-manual\">expanded documentation</a>\nto learn more about manual confirmation.</p>",
        "operationId": "PostPaymentIntentsIntentConfirm",
        "parameters": [
          {
            "in": "path",
            "name": "intent",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "mandate_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "off_session": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_options": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_types": {
                  "explode": true,
                  "style": "deepObject"
                },
                "receipt_email": {
                  "explode": true,
                  "style": "deepObject"
                },
                "shipping": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "client_secret": {
                    "description": "The client secret of the PaymentIntent.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "error_on_requires_action": {
                    "description": "Set to `true` to fail the payment attempt if the PaymentIntent transitions into `requires_action`. This parameter is intended for simpler integrations that do not handle customer actions, like [saving cards without authentication](https://stripe.com/docs/payments/save-card-without-authentication).",
                    "type": "boolean"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "mandate": {
                    "description": "ID of the mandate to be used for this payment.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "mandate_data": {
                    "anyOf": [
                      {
                        "properties": {
                          "customer_acceptance": {
                            "properties": {
                              "accepted_at": {
                                "format": "unix-time",
                                "type": "integer"
                              },
                              "offline": {
                                "properties": {},
                                "title": "offline_param",
                                "type": "object"
                              },
                              "online": {
                                "properties": {
                                  "ip_address": {
                                    "type": "string"
                                  },
                                  "user_agent": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  }
                                },
                                "required": ["ip_address", "user_agent"],
                                "title": "online_param",
                                "type": "object"
                              },
                              "type": {
                                "enum": ["offline", "online"],
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "required": ["type"],
                            "title": "customer_acceptance_param",
                            "type": "object"
                          }
                        },
                        "required": ["customer_acceptance"],
                        "title": "secret_key_param",
                        "type": "object"
                      },
                      {
                        "properties": {
                          "customer_acceptance": {
                            "properties": {
                              "online": {
                                "properties": {
                                  "ip_address": {
                                    "type": "string"
                                  },
                                  "user_agent": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  }
                                },
                                "title": "online_param",
                                "type": "object"
                              },
                              "type": {
                                "enum": ["online"],
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "required": ["online", "type"],
                            "title": "customer_acceptance_param",
                            "type": "object"
                          }
                        },
                        "required": ["customer_acceptance"],
                        "title": "client_key_param",
                        "type": "object"
                      }
                    ],
                    "description": "This hash contains details about the Mandate to create"
                  },
                  "off_session": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "enum": ["one_off", "recurring"],
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "Set to `true` to indicate that the customer is not in your checkout flow during this payment attempt, and therefore is unable to authenticate. This parameter is intended for scenarios where you collect card details and [charge them later](https://stripe.com/docs/payments/cards/charging-saved-cards)."
                  },
                  "payment_method": {
                    "description": "ID of the payment method (a PaymentMethod, Card, or [compatible Source](https://stripe.com/docs/payments/payment-methods/transitioning#compatibility) object) to attach to this PaymentIntent.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "payment_method_data": {
                    "description": "If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear\nin the [payment_method](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-payment_method)\nproperty on the PaymentIntent.",
                    "properties": {
                      "afterpay_clearpay": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "alipay": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "au_becs_debit": {
                        "properties": {
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "bsb_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["account_number", "bsb_number"],
                        "title": "param",
                        "type": "object"
                      },
                      "bacs_debit": {
                        "properties": {
                          "account_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "sort_code": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "param",
                        "type": "object"
                      },
                      "bancontact": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "billing_details": {
                        "properties": {
                          "address": {
                            "anyOf": [
                              {
                                "properties": {
                                  "city": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "country": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "line1": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "line2": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "postal_code": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "state": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  }
                                },
                                "title": "billing_details_address",
                                "type": "object"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          },
                          "email": {
                            "type": "string"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "phone": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "billing_details_inner_params",
                        "type": "object"
                      },
                      "eps": {
                        "properties": {
                          "bank": {
                            "enum": [
                              "arzte_und_apotheker_bank",
                              "austrian_anadi_bank_ag",
                              "bank_austria",
                              "bankhaus_carl_spangler",
                              "bankhaus_schelhammer_und_schattera_ag",
                              "bawag_psk_ag",
                              "bks_bank_ag",
                              "brull_kallmus_bank_ag",
                              "btv_vier_lander_bank",
                              "capital_bank_grawe_gruppe_ag",
                              "dolomitenbank",
                              "easybank_ag",
                              "erste_bank_und_sparkassen",
                              "hypo_alpeadriabank_international_ag",
                              "hypo_bank_burgenland_aktiengesellschaft",
                              "hypo_noe_lb_fur_niederosterreich_u_wien",
                              "hypo_oberosterreich_salzburg_steiermark",
                              "hypo_tirol_bank_ag",
                              "hypo_vorarlberg_bank_ag",
                              "marchfelder_bank",
                              "oberbank_ag",
                              "raiffeisen_bankengruppe_osterreich",
                              "schoellerbank_ag",
                              "sparda_bank_wien",
                              "volksbank_gruppe",
                              "volkskreditbank_ag",
                              "vr_bank_braunau"
                            ],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "param",
                        "type": "object"
                      },
                      "fpx": {
                        "properties": {
                          "bank": {
                            "enum": [
                              "affin_bank",
                              "alliance_bank",
                              "ambank",
                              "bank_islam",
                              "bank_muamalat",
                              "bank_rakyat",
                              "bsn",
                              "cimb",
                              "deutsche_bank",
                              "hong_leong_bank",
                              "hsbc",
                              "kfh",
                              "maybank2e",
                              "maybank2u",
                              "ocbc",
                              "pb_enterprise",
                              "public_bank",
                              "rhb",
                              "standard_chartered",
                              "uob"
                            ],
                            "maxLength": 5000,
                            "type": "string",
                            "x-stripeBypassValidation": true
                          }
                        },
                        "required": ["bank"],
                        "title": "param",
                        "type": "object"
                      },
                      "giropay": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "grabpay": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "ideal": {
                        "properties": {
                          "bank": {
                            "enum": [
                              "abn_amro",
                              "asn_bank",
                              "bunq",
                              "handelsbanken",
                              "ing",
                              "knab",
                              "moneyou",
                              "rabobank",
                              "regiobank",
                              "revolut",
                              "sns_bank",
                              "triodos_bank",
                              "van_lanschot"
                            ],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "param",
                        "type": "object"
                      },
                      "interac_present": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "metadata": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      "oxxo": {
                        "properties": {},
                        "title": "param",
                        "type": "object"
                      },
                      "p24": {
                        "properties": {
                          "bank": {
                            "enum": [
                              "alior_bank",
                              "bank_millennium",
                              "bank_nowy_bfg_sa",
                              "bank_pekao_sa",
                              "banki_spbdzielcze",
                              "blik",
                              "bnp_paribas",
                              "boz",
                              "citi_handlowy",
                              "credit_agricole",
                              "envelobank",
                              "etransfer_pocztowy24",
                              "getin_bank",
                              "ideabank",
                              "ing",
                              "inteligo",
                              "mbank_mtransfer",
                              "nest_przelew",
                              "noble_pay",
                              "pbac_z_ipko",
                              "plus_bank",
                              "santander_przelew24",
                              "tmobile_usbugi_bankowe",
                              "toyota_bank",
                              "volkswagen_bank"
                            ],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "param",
                        "type": "object"
                      },
                      "sepa_debit": {
                        "properties": {
                          "iban": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["iban"],
                        "title": "param",
                        "type": "object"
                      },
                      "sofort": {
                        "properties": {
                          "country": {
                            "enum": ["AT", "BE", "DE", "ES", "IT", "NL"],
                            "type": "string"
                          }
                        },
                        "required": ["country"],
                        "title": "param",
                        "type": "object"
                      },
                      "type": {
                        "enum": [
                          "afterpay_clearpay",
                          "alipay",
                          "au_becs_debit",
                          "bacs_debit",
                          "bancontact",
                          "eps",
                          "fpx",
                          "giropay",
                          "grabpay",
                          "ideal",
                          "oxxo",
                          "p24",
                          "sepa_debit",
                          "sofort"
                        ],
                        "type": "string",
                        "x-stripeBypassValidation": true
                      }
                    },
                    "required": ["type"],
                    "title": "payment_method_data_params",
                    "type": "object"
                  },
                  "payment_method_options": {
                    "description": "Payment-method-specific configuration for this PaymentIntent.",
                    "properties": {
                      "alipay": {
                        "anyOf": [
                          {
                            "properties": {},
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "bancontact": {
                        "anyOf": [
                          {
                            "properties": {
                              "preferred_language": {
                                "enum": ["de", "en", "fr", "nl"],
                                "type": "string"
                              }
                            },
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "card": {
                        "anyOf": [
                          {
                            "properties": {
                              "cvc_token": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "installments": {
                                "properties": {
                                  "enabled": {
                                    "type": "boolean"
                                  },
                                  "plan": {
                                    "anyOf": [
                                      {
                                        "properties": {
                                          "count": {
                                            "type": "integer"
                                          },
                                          "interval": {
                                            "enum": ["month"],
                                            "type": "string"
                                          },
                                          "type": {
                                            "enum": ["fixed_count"],
                                            "type": "string"
                                          }
                                        },
                                        "required": ["count", "interval", "type"],
                                        "title": "installment_plan",
                                        "type": "object"
                                      },
                                      {
                                        "enum": [""],
                                        "type": "string"
                                      }
                                    ]
                                  }
                                },
                                "title": "installments_param",
                                "type": "object"
                              },
                              "network": {
                                "enum": [
                                  "amex",
                                  "cartes_bancaires",
                                  "diners",
                                  "discover",
                                  "interac",
                                  "jcb",
                                  "mastercard",
                                  "unionpay",
                                  "unknown",
                                  "visa"
                                ],
                                "maxLength": 5000,
                                "type": "string",
                                "x-stripeBypassValidation": true
                              },
                              "request_three_d_secure": {
                                "enum": ["any", "automatic"],
                                "maxLength": 5000,
                                "type": "string",
                                "x-stripeBypassValidation": true
                              }
                            },
                            "title": "payment_intent_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "oxxo": {
                        "anyOf": [
                          {
                            "properties": {
                              "expires_after_days": {
                                "type": "integer"
                              }
                            },
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "p24": {
                        "anyOf": [
                          {
                            "properties": {
                              "tos_shown_and_accepted": {
                                "type": "boolean"
                              }
                            },
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "sepa_debit": {
                        "anyOf": [
                          {
                            "properties": {
                              "mandate_options": {
                                "properties": {},
                                "title": "payment_method_options_mandate_options_param",
                                "type": "object"
                              }
                            },
                            "title": "payment_intent_payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "sofort": {
                        "anyOf": [
                          {
                            "properties": {
                              "preferred_language": {
                                "enum": ["de", "en", "es", "fr", "it", "nl", "pl"],
                                "type": "string"
                              }
                            },
                            "title": "payment_method_options_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      }
                    },
                    "title": "payment_method_options_param",
                    "type": "object"
                  },
                  "payment_method_types": {
                    "description": "The list of payment method types (e.g. card) that this PaymentIntent is allowed to use.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "receipt_email": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails)."
                  },
                  "return_url": {
                    "description": "The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site.\nIf you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme.\nThis parameter is only used for cards and other redirect-based payment methods.",
                    "type": "string"
                  },
                  "setup_future_usage": {
                    "description": "Indicates that you intend to make future payments with this PaymentIntent's payment method.\n\nProviding this parameter will [attach the payment method](https://stripe.com/docs/payments/save-during-payment) to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https://stripe.com/docs/api/payment_methods/attach) to a Customer after the transaction completes.\n\nWhen processing card payments, Stripe also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https://stripe.com/docs/strong-customer-authentication).\n\nIf `setup_future_usage` is already set and you are performing a request using a publishable key, you may only update the value from `on_session` to `off_session`.",
                    "enum": ["", "off_session", "on_session"],
                    "type": "string"
                  },
                  "shipping": {
                    "anyOf": [
                      {
                        "properties": {
                          "address": {
                            "properties": {
                              "city": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "required": ["line1"],
                            "title": "address",
                            "type": "object"
                          },
                          "carrier": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "phone": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "tracking_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["address", "name"],
                        "title": "shipping",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "Shipping information for this PaymentIntent."
                  },
                  "use_stripe_sdk": {
                    "description": "Set to `true` only when using manual confirmation and the iOS or Android SDKs to handle additional authentication steps.",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_intent"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/payment_methods": {
      "get": {
        "description": "<p>Returns a list of PaymentMethods for a given Customer</p>",
        "operationId": "GetPaymentMethods",
        "parameters": [
          {
            "description": "The ID of the customer whose PaymentMethods will be retrieved.",
            "in": "query",
            "name": "customer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "A required filter on the list, based on the object `type` field.",
            "in": "query",
            "name": "type",
            "required": true,
            "schema": {
              "enum": [
                "afterpay_clearpay",
                "alipay",
                "au_becs_debit",
                "bacs_debit",
                "bancontact",
                "card",
                "eps",
                "fpx",
                "giropay",
                "grabpay",
                "ideal",
                "oxxo",
                "p24",
                "sepa_debit",
                "sofort"
              ],
              "type": "string",
              "x-stripeBypassValidation": true
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/payment_method"
                      },
                      "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/payment_methods",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "PaymentFlowsPaymentMethodList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a PaymentMethod object. Read the <a href=\"/docs/stripe-js/reference#stripe-create-payment-method\">Stripe.js reference</a> to learn how to create PaymentMethods via Stripe.js.</p>",
        "operationId": "PostPaymentMethods",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "afterpay_clearpay": {
                  "explode": true,
                  "style": "deepObject"
                },
                "alipay": {
                  "explode": true,
                  "style": "deepObject"
                },
                "au_becs_debit": {
                  "explode": true,
                  "style": "deepObject"
                },
                "bacs_debit": {
                  "explode": true,
                  "style": "deepObject"
                },
                "bancontact": {
                  "explode": true,
                  "style": "deepObject"
                },
                "billing_details": {
                  "explode": true,
                  "style": "deepObject"
                },
                "card": {
                  "explode": true,
                  "style": "deepObject"
                },
                "eps": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "fpx": {
                  "explode": true,
                  "style": "deepObject"
                },
                "giropay": {
                  "explode": true,
                  "style": "deepObject"
                },
                "grabpay": {
                  "explode": true,
                  "style": "deepObject"
                },
                "ideal": {
                  "explode": true,
                  "style": "deepObject"
                },
                "interac_present": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "oxxo": {
                  "explode": true,
                  "style": "deepObject"
                },
                "p24": {
                  "explode": true,
                  "style": "deepObject"
                },
                "sepa_debit": {
                  "explode": true,
                  "style": "deepObject"
                },
                "sofort": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "afterpay_clearpay": {
                    "description": "If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method.",
                    "properties": {},
                    "title": "param",
                    "type": "object"
                  },
                  "alipay": {
                    "description": "If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method.",
                    "properties": {},
                    "title": "param",
                    "type": "object"
                  },
                  "au_becs_debit": {
                    "description": "If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account.",
                    "properties": {
                      "account_number": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "bsb_number": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "required": ["account_number", "bsb_number"],
                    "title": "param",
                    "type": "object"
                  },
                  "bacs_debit": {
                    "description": "If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account.",
                    "properties": {
                      "account_number": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "sort_code": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "param",
                    "type": "object"
                  },
                  "bancontact": {
                    "description": "If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method.",
                    "properties": {},
                    "title": "param",
                    "type": "object"
                  },
                  "billing_details": {
                    "description": "Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.",
                    "properties": {
                      "address": {
                        "anyOf": [
                          {
                            "properties": {
                              "city": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "billing_details_address",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "email": {
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "phone": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "billing_details_inner_params",
                    "type": "object"
                  },
                  "card": {
                    "anyOf": [
                      {
                        "properties": {
                          "cvc": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "exp_month": {
                            "type": "integer"
                          },
                          "exp_year": {
                            "type": "integer"
                          },
                          "number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["exp_month", "exp_year", "number"],
                        "title": "card_details_params",
                        "type": "object"
                      },
                      {
                        "properties": {
                          "token": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["token"],
                        "title": "token_params",
                        "type": "object"
                      }
                    ],
                    "description": "If this is a `card` PaymentMethod, this hash contains the user's card details. For backwards compatibility, you can alternatively provide a Stripe token (e.g., for Apple Pay, Amex Express Checkout, or legacy Checkout) into the card hash with format `card: {token: \"tok_visa\"}`. When providing a card number, you must meet the requirements for [PCI compliance](https://stripe.com/docs/security#validating-pci-compliance). We strongly recommend using Stripe.js instead of interacting with this API directly.",
                    "x-stripeBypassValidation": true
                  },
                  "customer": {
                    "description": "The `Customer` to whom the original PaymentMethod is attached.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "eps": {
                    "description": "If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method.",
                    "properties": {
                      "bank": {
                        "enum": [
                          "arzte_und_apotheker_bank",
                          "austrian_anadi_bank_ag",
                          "bank_austria",
                          "bankhaus_carl_spangler",
                          "bankhaus_schelhammer_und_schattera_ag",
                          "bawag_psk_ag",
                          "bks_bank_ag",
                          "brull_kallmus_bank_ag",
                          "btv_vier_lander_bank",
                          "capital_bank_grawe_gruppe_ag",
                          "dolomitenbank",
                          "easybank_ag",
                          "erste_bank_und_sparkassen",
                          "hypo_alpeadriabank_international_ag",
                          "hypo_bank_burgenland_aktiengesellschaft",
                          "hypo_noe_lb_fur_niederosterreich_u_wien",
                          "hypo_oberosterreich_salzburg_steiermark",
                          "hypo_tirol_bank_ag",
                          "hypo_vorarlberg_bank_ag",
                          "marchfelder_bank",
                          "oberbank_ag",
                          "raiffeisen_bankengruppe_osterreich",
                          "schoellerbank_ag",
                          "sparda_bank_wien",
                          "volksbank_gruppe",
                          "volkskreditbank_ag",
                          "vr_bank_braunau"
                        ],
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "param",
                    "type": "object"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "fpx": {
                    "description": "If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method.",
                    "properties": {
                      "bank": {
                        "enum": [
                          "affin_bank",
                          "alliance_bank",
                          "ambank",
                          "bank_islam",
                          "bank_muamalat",
                          "bank_rakyat",
                          "bsn",
                          "cimb",
                          "deutsche_bank",
                          "hong_leong_bank",
                          "hsbc",
                          "kfh",
                          "maybank2e",
                          "maybank2u",
                          "ocbc",
                          "pb_enterprise",
                          "public_bank",
                          "rhb",
                          "standard_chartered",
                          "uob"
                        ],
                        "maxLength": 5000,
                        "type": "string",
                        "x-stripeBypassValidation": true
                      }
                    },
                    "required": ["bank"],
                    "title": "param",
                    "type": "object"
                  },
                  "giropay": {
                    "description": "If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method.",
                    "properties": {},
                    "title": "param",
                    "type": "object"
                  },
                  "grabpay": {
                    "description": "If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method.",
                    "properties": {},
                    "title": "param",
                    "type": "object"
                  },
                  "ideal": {
                    "description": "If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method.",
                    "properties": {
                      "bank": {
                        "enum": [
                          "abn_amro",
                          "asn_bank",
                          "bunq",
                          "handelsbanken",
                          "ing",
                          "knab",
                          "moneyou",
                          "rabobank",
                          "regiobank",
                          "revolut",
                          "sns_bank",
                          "triodos_bank",
                          "van_lanschot"
                        ],
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "param",
                    "type": "object"
                  },
                  "interac_present": {
                    "description": "If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method.",
                    "properties": {},
                    "title": "param",
                    "type": "object"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "oxxo": {
                    "description": "If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method.",
                    "properties": {},
                    "title": "param",
                    "type": "object"
                  },
                  "p24": {
                    "description": "If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method.",
                    "properties": {
                      "bank": {
                        "enum": [
                          "alior_bank",
                          "bank_millennium",
                          "bank_nowy_bfg_sa",
                          "bank_pekao_sa",
                          "banki_spbdzielcze",
                          "blik",
                          "bnp_paribas",
                          "boz",
                          "citi_handlowy",
                          "credit_agricole",
                          "envelobank",
                          "etransfer_pocztowy24",
                          "getin_bank",
                          "ideabank",
                          "ing",
                          "inteligo",
                          "mbank_mtransfer",
                          "nest_przelew",
                          "noble_pay",
                          "pbac_z_ipko",
                          "plus_bank",
                          "santander_przelew24",
                          "tmobile_usbugi_bankowe",
                          "toyota_bank",
                          "volkswagen_bank"
                        ],
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "param",
                    "type": "object"
                  },
                  "payment_method": {
                    "description": "The PaymentMethod to share.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "sepa_debit": {
                    "description": "If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.",
                    "properties": {
                      "iban": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "required": ["iban"],
                    "title": "param",
                    "type": "object"
                  },
                  "sofort": {
                    "description": "If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method.",
                    "properties": {
                      "country": {
                        "enum": ["AT", "BE", "DE", "ES", "IT", "NL"],
                        "type": "string"
                      }
                    },
                    "required": ["country"],
                    "title": "param",
                    "type": "object"
                  },
                  "type": {
                    "description": "The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.",
                    "enum": [
                      "afterpay_clearpay",
                      "alipay",
                      "au_becs_debit",
                      "bacs_debit",
                      "bancontact",
                      "card",
                      "eps",
                      "fpx",
                      "giropay",
                      "grabpay",
                      "ideal",
                      "oxxo",
                      "p24",
                      "sepa_debit",
                      "sofort"
                    ],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_method"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/payment_methods/{payment_method}": {
      "get": {
        "description": "<p>Retrieves a PaymentMethod object.</p>",
        "operationId": "GetPaymentMethodsPaymentMethod",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "payment_method",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_method"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.</p>",
        "operationId": "PostPaymentMethodsPaymentMethod",
        "parameters": [
          {
            "in": "path",
            "name": "payment_method",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "billing_details": {
                  "explode": true,
                  "style": "deepObject"
                },
                "card": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "billing_details": {
                    "description": "Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.",
                    "properties": {
                      "address": {
                        "anyOf": [
                          {
                            "properties": {
                              "city": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "billing_details_address",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "email": {
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "phone": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "billing_details_inner_params",
                    "type": "object"
                  },
                  "card": {
                    "description": "If this is a `card` PaymentMethod, this hash contains the user's card details.",
                    "properties": {
                      "exp_month": {
                        "type": "integer"
                      },
                      "exp_year": {
                        "type": "integer"
                      }
                    },
                    "title": "update_api_param",
                    "type": "object"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_method"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/payment_methods/{payment_method}/attach": {
      "post": {
        "description": "<p>Attaches a PaymentMethod object to a Customer.</p>\n\n<p>To attach a new PaymentMethod to a customer for future payments, we recommend you use a <a href=\"/docs/api/setup_intents\">SetupIntent</a>\nor a PaymentIntent with <a href=\"/docs/api/payment_intents/create#create_payment_intent-setup_future_usage\">setup_future_usage</a>.\nThese approaches will perform any necessary steps to ensure that the PaymentMethod can be used in a future payment. Using the\n<code>/v1/payment_methods/:id/attach</code> endpoint does not ensure that future payments can be made with the attached PaymentMethod.\nSee <a href=\"/docs/payments/payment-intents#future-usage\">Optimizing cards for future payments</a> for more information about setting up future payments.</p>\n\n<p>To use this PaymentMethod as the default for invoice or subscription payments,\nset <a href=\"/docs/api/customers/update#update_customer-invoice_settings-default_payment_method\"><code>invoice_settings.default_payment_method</code></a>,\non the Customer to the PaymentMethod’s ID.</p>",
        "operationId": "PostPaymentMethodsPaymentMethodAttach",
        "parameters": [
          {
            "in": "path",
            "name": "payment_method",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "customer": {
                    "description": "The ID of the customer to which to attach the PaymentMethod.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": ["customer"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_method"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/payment_methods/{payment_method}/detach": {
      "post": {
        "description": "<p>Detaches a PaymentMethod object from a Customer.</p>",
        "operationId": "PostPaymentMethodsPaymentMethodDetach",
        "parameters": [
          {
            "in": "path",
            "name": "payment_method",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payment_method"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/payouts": {
      "get": {
        "description": "<p>Returns a list of existing payouts sent to third-party bank accounts or that Stripe has sent you. The payouts are returned in sorted order, with the most recently created payouts appearing first.</p>",
        "operationId": "GetPayouts",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "arrival_date",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "The ID of an external account - only return payouts sent to this external account.",
            "in": "query",
            "name": "destination",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return payouts that have the given status: `pending`, `paid`, `failed`, or `canceled`.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/payout"
                      },
                      "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/payouts",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "PayoutList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>To send funds to your own bank account, you create a new payout object. Your <a href=\"#balance\">Stripe balance</a> must be able to cover the payout amount, or you’ll receive an “Insufficient Funds” error.</p>\n\n<p>If your API key is in test mode, money won’t actually be sent, though everything else will occur as if in live mode.</p>\n\n<p>If you are creating a manual payout on a Stripe account that uses multiple payment source types, you’ll need to specify the source type balance that the payout should draw from. The <a href=\"#balance_object\">balance object</a> details available and pending amounts by source type.</p>",
        "operationId": "PostPayouts",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "A positive integer in cents representing how much to payout.",
                    "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).",
                    "type": "string"
                  },
                  "description": {
                    "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "destination": {
                    "description": "The ID of a bank account or a card to send the payout to. If no destination is supplied, the default external account for the specified currency will be used.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "method": {
                    "description": "The method used to send this payout, which can be `standard` or `instant`. `instant` is only supported for payouts to debit cards. (See [Instant payouts for marketplaces for more information](https://stripe.com/blog/instant-payouts-for-marketplaces).)",
                    "enum": ["instant", "standard"],
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "source_type": {
                    "description": "The balance type of your Stripe balance to draw this payout from. Balances for different payment sources are kept separately. You can find the amounts with the balances API. One of `bank_account`, `card`, or `fpx`.",
                    "enum": ["bank_account", "card", "fpx"],
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "statement_descriptor": {
                    "description": "A string to be displayed on the recipient's bank or card statement. This may be at most 22 characters. Attempting to use a `statement_descriptor` longer than 22 characters will return an error. Note: Most banks will truncate this information and/or display it inconsistently. Some may not display it at all.",
                    "maxLength": 22,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  }
                },
                "required": ["amount", "currency"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payout"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/payouts/{payout}": {
      "get": {
        "description": "<p>Retrieves the details of an existing payout. Supply the unique payout ID from either a payout creation request or the payout list, and Stripe will return the corresponding payout information.</p>",
        "operationId": "GetPayoutsPayout",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "payout",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payout"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified payout by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This request accepts only the metadata as arguments.</p>",
        "operationId": "PostPayoutsPayout",
        "parameters": [
          {
            "in": "path",
            "name": "payout",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payout"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/payouts/{payout}/cancel": {
      "post": {
        "description": "<p>A previously created payout can be canceled if it has not yet been paid out. Funds will be refunded to your available balance. You may not cancel automatic Stripe payouts.</p>",
        "operationId": "PostPayoutsPayoutCancel",
        "parameters": [
          {
            "in": "path",
            "name": "payout",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payout"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/payouts/{payout}/reverse": {
      "post": {
        "description": "<p>Reverses a payout by debiting the destination bank account. Only payouts for connected accounts to US bank accounts may be reversed at this time. If the payout is in the <code>pending</code> status, <code>/v1/payouts/:id/cancel</code> should be used instead.</p>\n\n<p>By requesting a reversal via <code>/v1/payouts/:id/reverse</code>, you confirm that the authorized signatory of the selected bank account has authorized the debit on the bank account and that no other authorization is required.</p>",
        "operationId": "PostPayoutsPayoutReverse",
        "parameters": [
          {
            "in": "path",
            "name": "payout",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/payout"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/plans": {
      "get": {
        "description": "<p>Returns a list of your plans.</p>",
        "operationId": "GetPlans",
        "parameters": [
          {
            "description": "Only return plans that are active or inactive (e.g., pass `false` to list all inactive plans).",
            "in": "query",
            "name": "active",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Only return plans for the given product.",
            "in": "query",
            "name": "product",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/plan"
                      },
                      "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/plans",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "PlanList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>You can now model subscriptions more flexibly using the <a href=\"#prices\">Prices API</a>. It replaces the Plans API and is backwards compatible to simplify your migration.</p>",
        "operationId": "PostPlans",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "product": {
                  "explode": true,
                  "style": "deepObject"
                },
                "tiers": {
                  "explode": true,
                  "style": "deepObject"
                },
                "transform_usage": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "active": {
                    "description": "Whether the plan is currently available for new subscriptions. Defaults to `true`.",
                    "type": "boolean"
                  },
                  "aggregate_usage": {
                    "description": "Specifies a usage aggregation strategy for plans of `usage_type=metered`. Allowed values are `sum` for summing up all usage during a period, `last_during_period` for using the last usage record reported within a period, `last_ever` for using the last usage record ever (across period bounds) or `max` which uses the usage record with the maximum reported usage during a period. Defaults to `sum`.",
                    "enum": ["last_during_period", "last_ever", "max", "sum"],
                    "type": "string"
                  },
                  "amount": {
                    "description": "A positive integer in %s (or 0 for a free plan) representing how much to charge on a recurring basis.",
                    "type": "integer"
                  },
                  "amount_decimal": {
                    "description": "Same as `amount`, but accepts a decimal value with at most 12 decimal places. Only one of `amount` and `amount_decimal` can be set.",
                    "format": "decimal",
                    "type": "string"
                  },
                  "billing_scheme": {
                    "description": "Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `amount`) will be charged per unit in `quantity` (for plans with `usage_type=licensed`), or per unit of total usage (for plans with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes.",
                    "enum": ["per_unit", "tiered"],
                    "type": "string"
                  },
                  "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).",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "id": {
                    "description": "An identifier randomly generated by Stripe. Used to identify this plan when subscribing a customer. You can optionally override this ID, but the ID must be unique across all plans in your Stripe account. You can, however, use the same plan ID in both live and test modes.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "interval": {
                    "description": "Specifies billing frequency. Either `day`, `week`, `month` or `year`.",
                    "enum": ["day", "month", "week", "year"],
                    "type": "string"
                  },
                  "interval_count": {
                    "description": "The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks).",
                    "type": "integer"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "nickname": {
                    "description": "A brief description of the plan, hidden from customers.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "product": {
                    "anyOf": [
                      {
                        "description": "The product whose pricing the created plan will represent. This can either be the ID of an existing product, or a dictionary containing fields used to create a [service product](https://stripe.com/docs/api#product_object-type).",
                        "properties": {
                          "active": {
                            "type": "boolean"
                          },
                          "id": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "metadata": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "statement_descriptor": {
                            "maxLength": 22,
                            "type": "string"
                          },
                          "unit_label": {
                            "maxLength": 12,
                            "type": "string"
                          }
                        },
                        "required": ["name"],
                        "title": "inline_product_params",
                        "type": "object"
                      },
                      {
                        "description": "The ID of the product whose pricing the created plan will represent.",
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ]
                  },
                  "tiers": {
                    "description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`.",
                    "items": {
                      "properties": {
                        "flat_amount": {
                          "type": "integer"
                        },
                        "flat_amount_decimal": {
                          "format": "decimal",
                          "type": "string"
                        },
                        "unit_amount": {
                          "type": "integer"
                        },
                        "unit_amount_decimal": {
                          "format": "decimal",
                          "type": "string"
                        },
                        "up_to": {
                          "anyOf": [
                            {
                              "enum": ["inf"],
                              "maxLength": 5000,
                              "type": "string"
                            },
                            {
                              "type": "integer"
                            }
                          ]
                        }
                      },
                      "required": ["up_to"],
                      "title": "tier",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "tiers_mode": {
                    "description": "Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price, in `graduated` tiering pricing can successively change as the quantity grows.",
                    "enum": ["graduated", "volume"],
                    "type": "string"
                  },
                  "transform_usage": {
                    "description": "Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with `tiers`.",
                    "properties": {
                      "divide_by": {
                        "type": "integer"
                      },
                      "round": {
                        "enum": ["down", "up"],
                        "type": "string"
                      }
                    },
                    "required": ["divide_by", "round"],
                    "title": "transform_usage_param",
                    "type": "object"
                  },
                  "trial_period_days": {
                    "description": "Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan).",
                    "type": "integer"
                  },
                  "usage_type": {
                    "description": "Configures how the quantity per period should be determined. Can be either `metered` or `licensed`. `licensed` automatically bills the `quantity` set when adding it to a subscription. `metered` aggregates the total usage based on usage records. Defaults to `licensed`.",
                    "enum": ["licensed", "metered"],
                    "type": "string"
                  }
                },
                "required": ["currency", "interval"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/plan"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/plans/{plan}": {
      "delete": {
        "description": "<p>Deleting plans means new subscribers can’t be added. Existing subscribers aren’t affected.</p>",
        "operationId": "DeletePlansPlan",
        "parameters": [
          {
            "in": "path",
            "name": "plan",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_plan"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves the plan with the given ID.</p>",
        "operationId": "GetPlansPlan",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "plan",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/plan"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified plan by setting the values of the parameters passed. Any parameters not provided are left unchanged. By design, you cannot change a plan’s ID, amount, currency, or billing cycle.</p>",
        "operationId": "PostPlansPlan",
        "parameters": [
          {
            "in": "path",
            "name": "plan",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "active": {
                    "description": "Whether the plan is currently available for new subscriptions.",
                    "type": "boolean"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "nickname": {
                    "description": "A brief description of the plan, hidden from customers.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "product": {
                    "description": "The product the plan belongs to. This cannot be changed once it has been used in a subscription or subscription schedule.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "trial_period_days": {
                    "description": "Default number of trial days when subscribing a customer to this plan using [`trial_from_plan=true`](https://stripe.com/docs/api#create_subscription-trial_from_plan).",
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/plan"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/prices": {
      "get": {
        "description": "<p>Returns a list of your prices.</p>",
        "operationId": "GetPrices",
        "parameters": [
          {
            "description": "Only return prices that are active or inactive (e.g., pass `false` to list all inactive prices).",
            "in": "query",
            "name": "active",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return prices for the given currency.",
            "in": "query",
            "name": "currency",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Only return the price with these lookup_keys, if any exist.",
            "explode": true,
            "in": "query",
            "name": "lookup_keys",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "Only return prices for the given product.",
            "in": "query",
            "name": "product",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return prices with these recurring fields.",
            "explode": true,
            "in": "query",
            "name": "recurring",
            "required": false,
            "schema": {
              "properties": {
                "interval": {
                  "enum": ["day", "month", "week", "year"],
                  "type": "string"
                },
                "usage_type": {
                  "enum": ["licensed", "metered"],
                  "type": "string"
                }
              },
              "title": "all_prices_recurring_params",
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return prices of type `recurring` or `one_time`.",
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "enum": ["one_time", "recurring"],
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/price"
                      },
                      "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/prices",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "PriceList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new price for an existing product. The price can be recurring or one-time.</p>",
        "operationId": "PostPrices",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "product_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "recurring": {
                  "explode": true,
                  "style": "deepObject"
                },
                "tiers": {
                  "explode": true,
                  "style": "deepObject"
                },
                "transform_quantity": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "active": {
                    "description": "Whether the price can be used for new purchases. Defaults to `true`.",
                    "type": "boolean"
                  },
                  "billing_scheme": {
                    "description": "Describes how to compute the price per period. Either `per_unit` or `tiered`. `per_unit` indicates that the fixed amount (specified in `unit_amount` or `unit_amount_decimal`) will be charged per unit in `quantity` (for prices with `usage_type=licensed`), or per unit of total usage (for prices with `usage_type=metered`). `tiered` indicates that the unit pricing will be computed using a tiering strategy as defined using the `tiers` and `tiers_mode` attributes.",
                    "enum": ["per_unit", "tiered"],
                    "type": "string"
                  },
                  "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).",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "lookup_key": {
                    "description": "A lookup key used to retrieve prices dynamically from a static string.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "nickname": {
                    "description": "A brief description of the price, hidden from customers.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "product": {
                    "description": "The ID of the product that this price will belong to.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "product_data": {
                    "description": "These fields can be used to create a new product that this price will belong to.",
                    "properties": {
                      "active": {
                        "type": "boolean"
                      },
                      "id": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "metadata": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "statement_descriptor": {
                        "maxLength": 22,
                        "type": "string"
                      },
                      "unit_label": {
                        "maxLength": 12,
                        "type": "string"
                      }
                    },
                    "required": ["name"],
                    "title": "inline_product_params",
                    "type": "object"
                  },
                  "recurring": {
                    "description": "The recurring components of a price such as `interval` and `usage_type`.",
                    "properties": {
                      "aggregate_usage": {
                        "enum": ["last_during_period", "last_ever", "max", "sum"],
                        "type": "string"
                      },
                      "interval": {
                        "enum": ["day", "month", "week", "year"],
                        "type": "string"
                      },
                      "interval_count": {
                        "type": "integer"
                      },
                      "usage_type": {
                        "enum": ["licensed", "metered"],
                        "type": "string"
                      }
                    },
                    "required": ["interval"],
                    "title": "recurring",
                    "type": "object"
                  },
                  "tiers": {
                    "description": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`.",
                    "items": {
                      "properties": {
                        "flat_amount": {
                          "type": "integer"
                        },
                        "flat_amount_decimal": {
                          "format": "decimal",
                          "type": "string"
                        },
                        "unit_amount": {
                          "type": "integer"
                        },
                        "unit_amount_decimal": {
                          "format": "decimal",
                          "type": "string"
                        },
                        "up_to": {
                          "anyOf": [
                            {
                              "enum": ["inf"],
                              "maxLength": 5000,
                              "type": "string"
                            },
                            {
                              "type": "integer"
                            }
                          ]
                        }
                      },
                      "required": ["up_to"],
                      "title": "tier",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "tiers_mode": {
                    "description": "Defines if the tiering price should be `graduated` or `volume` based. In `volume`-based tiering, the maximum quantity within a period determines the per unit price, in `graduated` tiering pricing can successively change as the quantity grows.",
                    "enum": ["graduated", "volume"],
                    "type": "string"
                  },
                  "transfer_lookup_key": {
                    "description": "If set to true, will atomically remove the lookup key from the existing price, and assign it to this price.",
                    "type": "boolean"
                  },
                  "transform_quantity": {
                    "description": "Apply a transformation to the reported usage or set quantity before computing the billed price. Cannot be combined with `tiers`.",
                    "properties": {
                      "divide_by": {
                        "type": "integer"
                      },
                      "round": {
                        "enum": ["down", "up"],
                        "type": "string"
                      }
                    },
                    "required": ["divide_by", "round"],
                    "title": "transform_usage_param",
                    "type": "object"
                  },
                  "unit_amount": {
                    "description": "A positive integer in %s (or 0 for a free price) representing how much to charge.",
                    "type": "integer"
                  },
                  "unit_amount_decimal": {
                    "description": "Same as `unit_amount`, but accepts a decimal value in %s with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.",
                    "format": "decimal",
                    "type": "string"
                  }
                },
                "required": ["currency"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/price"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/prices/{price}": {
      "get": {
        "description": "<p>Retrieves the price with the given ID.</p>",
        "operationId": "GetPricesPrice",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "price",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/price"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified price by setting the values of the parameters passed. Any parameters not provided are left unchanged.</p>",
        "operationId": "PostPricesPrice",
        "parameters": [
          {
            "in": "path",
            "name": "price",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "active": {
                    "description": "Whether the price can be used for new purchases. Defaults to `true`.",
                    "type": "boolean"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "lookup_key": {
                    "description": "A lookup key used to retrieve prices dynamically from a static string.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "nickname": {
                    "description": "A brief description of the price, hidden from customers.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "transfer_lookup_key": {
                    "description": "If set to true, will atomically remove the lookup key from the existing price, and assign it to this price.",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/price"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/products": {
      "get": {
        "description": "<p>Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.</p>",
        "operationId": "GetProducts",
        "parameters": [
          {
            "description": "Only return products that are active or inactive (e.g., pass `false` to list all inactive products).",
            "in": "query",
            "name": "active",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Only return products that were created during the given date interval.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "Only return products with the given IDs.",
            "explode": true,
            "in": "query",
            "name": "ids",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Only return products that can be shipped (i.e., physical, not digital products).",
            "in": "query",
            "name": "shippable",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return products with the given url.",
            "in": "query",
            "name": "url",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/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"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new product object.</p>",
        "operationId": "PostProducts",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "images": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "package_dimensions": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "active": {
                    "description": "Whether the product is currently available for purchase. Defaults to `true`.",
                    "type": "boolean"
                  },
                  "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": 40000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "id": {
                    "description": "An identifier will be randomly generated by Stripe. You can optionally override this ID, but the ID must be unique across all products in your Stripe account.",
                    "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": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "name": {
                    "description": "The product's name, meant to be displayable to the customer. Whenever this product is sold via a subscription, name will show up on associated invoice line item descriptions.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "package_dimensions": {
                    "description": "The dimensions of this product for shipping purposes.",
                    "properties": {
                      "height": {
                        "type": "number"
                      },
                      "length": {
                        "type": "number"
                      },
                      "weight": {
                        "type": "number"
                      },
                      "width": {
                        "type": "number"
                      }
                    },
                    "required": ["height", "length", "weight", "width"],
                    "title": "package_dimensions_specs",
                    "type": "object"
                  },
                  "shippable": {
                    "description": "Whether this product is shipped (i.e., physical goods).",
                    "type": "boolean"
                  },
                  "statement_descriptor": {
                    "description": "An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all.\n\nThis may be up to 22 characters. The statement description may not include `<`, `>`, `\\`, `\"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped.\n It must contain at least one letter.",
                    "maxLength": 22,
                    "type": "string"
                  },
                  "unit_label": {
                    "description": "A label that represents units of this product in Stripe and on customers’ receipts and invoices. When set, this will be included in associated invoice line item descriptions.",
                    "maxLength": 12,
                    "type": "string"
                  },
                  "url": {
                    "description": "A URL of a publicly-accessible webpage for this product.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "required": ["name"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/product"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/products/{id}": {
      "delete": {
        "description": "<p>Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with <code>type=good</code> is only possible if it has no SKUs associated with it.</p>",
        "operationId": "DeleteProductsId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_product"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.</p>",
        "operationId": "GetProductsId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/product"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>",
        "operationId": "PostProductsId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "images": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "package_dimensions": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "active": {
                    "description": "Whether the product is available for purchase.",
                    "type": "boolean"
                  },
                  "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": 40000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "images": {
                    "anyOf": [
                      {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer."
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "name": {
                    "description": "The product's name, meant to be displayable to the customer. Whenever this product is sold via a subscription, name will show up on associated invoice line item descriptions.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "package_dimensions": {
                    "anyOf": [
                      {
                        "properties": {
                          "height": {
                            "type": "number"
                          },
                          "length": {
                            "type": "number"
                          },
                          "weight": {
                            "type": "number"
                          },
                          "width": {
                            "type": "number"
                          }
                        },
                        "required": ["height", "length", "weight", "width"],
                        "title": "package_dimensions_specs",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The dimensions of this product for shipping purposes."
                  },
                  "shippable": {
                    "description": "Whether this product is shipped (i.e., physical goods).",
                    "type": "boolean"
                  },
                  "statement_descriptor": {
                    "description": "An arbitrary string to be displayed on your customer's credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all.\n\nThis may be up to 22 characters. The statement description may not include `<`, `>`, `\\`, `\"`, `'` characters, and will appear on your customer's statement in capital letters. Non-ASCII characters are automatically stripped.\n It must contain at least one letter. May only be set if `type=service`.",
                    "maxLength": 22,
                    "type": "string"
                  },
                  "unit_label": {
                    "description": "A label that represents units of this product in Stripe and on customers’ receipts and invoices. When set, this will be included in associated invoice line item descriptions. May only be set if `type=service`.",
                    "maxLength": 12,
                    "type": "string"
                  },
                  "url": {
                    "description": "A URL of a publicly-accessible webpage for this product.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/product"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/promotion_codes": {
      "get": {
        "description": "<p>Returns a list of your promotion codes.</p>",
        "operationId": "GetPromotionCodes",
        "parameters": [
          {
            "description": "Filter promotion codes by whether they are active.",
            "in": "query",
            "name": "active",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Only return promotion codes that have this case-insensitive code.",
            "in": "query",
            "name": "code",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return promotion codes for this coupon.",
            "in": "query",
            "name": "coupon",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return promotion codes that are restricted to this customer.",
            "in": "query",
            "name": "customer",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/promotion_code"
                      },
                      "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/promotion_codes",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>A promotion code points to a coupon. You can optionally restrict the code to a specific customer, redemption limit, and expiration date.</p>",
        "operationId": "PostPromotionCodes",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "restrictions": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "active": {
                    "description": "Whether the promotion code is currently active.",
                    "type": "boolean"
                  },
                  "code": {
                    "description": "The customer-facing code. Regardless of case, this code must be unique across all active promotion codes for a specific customer. If left blank, we will generate one automatically.",
                    "maxLength": 500,
                    "type": "string"
                  },
                  "coupon": {
                    "description": "The coupon for this promotion code.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "customer": {
                    "description": "The customer that this promotion code can be used by. If not set, the promotion code can be used by all customers.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "expires_at": {
                    "description": "The timestamp at which this promotion code will expire. If the coupon has specified a `redeems_by`, then this value cannot be after the coupon's `redeems_by`.",
                    "format": "unix-time",
                    "type": "integer"
                  },
                  "max_redemptions": {
                    "description": "A positive integer specifying the number of times the promotion code can be redeemed. If the coupon has specified a `max_redemptions`, then this value cannot be greater than the coupon's `max_redemptions`.",
                    "type": "integer"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "restrictions": {
                    "description": "Settings that restrict the redemption of the promotion code.",
                    "properties": {
                      "first_time_transaction": {
                        "type": "boolean"
                      },
                      "minimum_amount": {
                        "type": "integer"
                      },
                      "minimum_amount_currency": {
                        "type": "string"
                      }
                    },
                    "title": "restrictions_params",
                    "type": "object"
                  }
                },
                "required": ["coupon"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/promotion_code"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/promotion_codes/{promotion_code}": {
      "get": {
        "description": "<p>Retrieves the promotion code with the given ID.</p>",
        "operationId": "GetPromotionCodesPromotionCode",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "promotion_code",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/promotion_code"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified promotion code by setting the values of the parameters passed. Most fields are, by design, not editable.</p>",
        "operationId": "PostPromotionCodesPromotionCode",
        "parameters": [
          {
            "in": "path",
            "name": "promotion_code",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "active": {
                    "description": "Whether the promotion code is currently active. A promotion code can only be reactivated when the coupon is still valid and the promotion code is otherwise redeemable.",
                    "type": "boolean"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/promotion_code"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/radar/early_fraud_warnings": {
      "get": {
        "description": "<p>Returns a list of early fraud warnings.</p>",
        "operationId": "GetRadarEarlyFraudWarnings",
        "parameters": [
          {
            "description": "Only return early fraud warnings for the charge specified by this charge ID.",
            "in": "query",
            "name": "charge",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/radar.early_fraud_warning"
                      },
                      "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/radar/early_fraud_warnings",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "RadarEarlyFraudWarningList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/radar/early_fraud_warnings/{early_fraud_warning}": {
      "get": {
        "description": "<p>Retrieves the details of an early fraud warning that has previously been created. </p>\n\n<p>Please refer to the <a href=\"#early_fraud_warning_object\">early fraud warning</a> object reference for more details.</p>",
        "operationId": "GetRadarEarlyFraudWarningsEarlyFraudWarning",
        "parameters": [
          {
            "in": "path",
            "name": "early_fraud_warning",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/radar.early_fraud_warning"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/radar/value_list_items": {
      "get": {
        "description": "<p>Returns a list of <code>ValueListItem</code> objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.</p>",
        "operationId": "GetRadarValueListItems",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Return items belonging to the parent list whose value matches the specified value (using an \"is like\" match).",
            "in": "query",
            "name": "value",
            "required": false,
            "schema": {
              "maxLength": 800,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Identifier for the parent value list this item belongs to.",
            "in": "query",
            "name": "value_list",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/radar.value_list_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,
                      "pattern": "^/v1/radar/value_list_items",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new <code>ValueListItem</code> object, which is added to the specified parent value list.</p>",
        "operationId": "PostRadarValueListItems",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "value": {
                    "description": "The value of the item (whose type must match the type of the parent value list).",
                    "maxLength": 800,
                    "type": "string"
                  },
                  "value_list": {
                    "description": "The identifier of the value list which the created item will be added to.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "required": ["value", "value_list"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/radar.value_list_item"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/radar/value_list_items/{item}": {
      "delete": {
        "description": "<p>Deletes a <code>ValueListItem</code> object, removing it from its parent value list.</p>",
        "operationId": "DeleteRadarValueListItemsItem",
        "parameters": [
          {
            "in": "path",
            "name": "item",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_radar.value_list_item"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves a <code>ValueListItem</code> object.</p>",
        "operationId": "GetRadarValueListItemsItem",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "item",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/radar.value_list_item"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/radar/value_lists": {
      "get": {
        "description": "<p>Returns a list of <code>ValueList</code> objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.</p>",
        "operationId": "GetRadarValueLists",
        "parameters": [
          {
            "description": "The alias used to reference the value list when writing rules.",
            "in": "query",
            "name": "alias",
            "required": false,
            "schema": {
              "maxLength": 100,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "A value contained within a value list - returns all value lists containing this value.",
            "in": "query",
            "name": "contains",
            "required": false,
            "schema": {
              "maxLength": 800,
              "type": "string"
            },
            "style": "form"
          },
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/radar.value_list"
                      },
                      "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/radar/value_lists",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new <code>ValueList</code> object, which can then be referenced in rules.</p>",
        "operationId": "PostRadarValueLists",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "alias": {
                    "description": "The name of the value list for use in rules.",
                    "maxLength": 100,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "item_type": {
                    "description": "Type of the items in the value list. One of `card_fingerprint`, `card_bin`, `email`, `ip_address`, `country`, `string`, or `case_sensitive_string`. Use `string` if the item type is unknown or mixed.",
                    "enum": [
                      "card_bin",
                      "card_fingerprint",
                      "case_sensitive_string",
                      "country",
                      "email",
                      "ip_address",
                      "string"
                    ],
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "name": {
                    "description": "The human-readable name of the value list.",
                    "maxLength": 100,
                    "type": "string"
                  }
                },
                "required": ["alias", "name"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/radar.value_list"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/radar/value_lists/{value_list}": {
      "delete": {
        "description": "<p>Deletes a <code>ValueList</code> object, also deleting any items contained within the value list. To be deleted, a value list must not be referenced in any rules.</p>",
        "operationId": "DeleteRadarValueListsValueList",
        "parameters": [
          {
            "in": "path",
            "name": "value_list",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_radar.value_list"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves a <code>ValueList</code> object.</p>",
        "operationId": "GetRadarValueListsValueList",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "value_list",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/radar.value_list"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates a <code>ValueList</code> object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Note that <code>item_type</code> is immutable.</p>",
        "operationId": "PostRadarValueListsValueList",
        "parameters": [
          {
            "in": "path",
            "name": "value_list",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "alias": {
                    "description": "The name of the value list for use in rules.",
                    "maxLength": 100,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "name": {
                    "description": "The human-readable name of the value list.",
                    "maxLength": 100,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/radar.value_list"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/recipients": {
      "get": {
        "deprecated": true,
        "description": "<p>Returns a list of your recipients. The recipients are returned sorted by creation date, with the most recently created recipients appearing first.</p>",
        "operationId": "GetRecipients",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "enum": ["corporation", "individual"],
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return recipients that are verified or unverified.",
            "in": "query",
            "name": "verified",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/recipient"
                      },
                      "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/recipients",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "deprecated": true,
        "description": "<p>Creates a new <code>Recipient</code> object and verifies the recipient’s identity.\nAlso verifies the recipient’s bank account information or debit card, if either is provided.</p>",
        "operationId": "PostRecipients",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "bank_account": {
                    "description": "A bank account to attach to the recipient. You can provide either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe-js), or a dictionary containing a user's bank account details, with the options described below.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "card": {
                    "description": "A U.S. Visa or MasterCard debit card (_not_ prepaid) to attach to the recipient. If the debit card is not valid, recipient creation will fail. You can provide either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe-js), or a dictionary containing a user's debit card details, with the options described below. Although not all information is required, the extra info helps prevent fraud.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "description": {
                    "description": "An arbitrary string which you can attach to a `Recipient` object. It is displayed alongside the recipient in the web interface.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "email": {
                    "description": "The recipient's email address. It is displayed alongside the recipient in the web interface, and can be useful for searching and tracking.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "name": {
                    "description": "The recipient's full, legal name. For type `individual`, should be in the format `First Last`, `First Middle Last`, or `First M Last` (no prefixes or suffixes). For `corporation`, the full, incorporated name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "tax_id": {
                    "description": "The recipient's tax ID, as a string. For type `individual`, the full SSN; for type `corporation`, the full EIN.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "type": {
                    "description": "Type of the recipient: either `individual` or `corporation`.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "required": ["name", "type"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/recipient"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/recipients/{id}": {
      "delete": {
        "deprecated": true,
        "description": "<p>Permanently deletes a recipient. It cannot be undone.</p>",
        "operationId": "DeleteRecipientsId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_recipient"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "deprecated": true,
        "description": "<p>Retrieves the details of an existing recipient. You need only supply the unique recipient identifier that was returned upon recipient creation.</p>",
        "operationId": "GetRecipientsId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/recipient"
                    },
                    {
                      "$ref": "#/components/schemas/deleted_recipient"
                    }
                  ]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "deprecated": true,
        "description": "<p>Updates the specified recipient by setting the values of the parameters passed.\nAny parameters not provided will be left unchanged.</p>\n\n<p>If you update the name or tax ID, the identity verification will automatically be rerun.\nIf you update the bank account, the bank account validation will automatically be rerun.</p>",
        "operationId": "PostRecipientsId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "bank_account": {
                    "description": "A bank account to attach to the recipient. You can provide either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe-js), or a dictionary containing a user's bank account details, with the options described below.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "card": {
                    "description": "A U.S. Visa or MasterCard debit card (not prepaid) to attach to the recipient. You can provide either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/stripe-js), or a dictionary containing a user's debit card details, with the options described below. Passing `card` will create a new card, make it the new recipient default card, and delete the old recipient default (if one exists). If you want to add additional debit cards instead of replacing the existing default, use the [card creation API](https://stripe.com/docs/api#create_card). Whenever you attach a card to a recipient, Stripe will automatically validate the debit card.",
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "default_card": {
                    "description": "ID of the card to set as the recipient's new default for payouts.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "description": {
                    "description": "An arbitrary string which you can attach to a `Recipient` object. It is displayed alongside the recipient in the web interface.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "email": {
                    "description": "The recipient's email address. It is displayed alongside the recipient in the web interface, and can be useful for searching and tracking.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "name": {
                    "description": "The recipient's full, legal name. For type `individual`, should be in the format `First Last`, `First Middle Last`, or `First M Last` (no prefixes or suffixes). For `corporation`, the full, incorporated name.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "tax_id": {
                    "description": "The recipient's tax ID, as a string. For type `individual`, the full SSN; for type `corporation`, the full EIN.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/recipient"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/refunds": {
      "get": {
        "description": "<p>Returns a list of all refunds you’ve previously created. The refunds are returned in sorted order, with the most recent refunds appearing first. For convenience, the 10 most recent refunds are always available by default on the charge object.</p>",
        "operationId": "GetRefunds",
        "parameters": [
          {
            "description": "Only return refunds for the charge specified by this charge ID.",
            "in": "query",
            "name": "charge",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Only return refunds for the PaymentIntent specified by this ID.",
            "in": "query",
            "name": "payment_intent",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/refund"
                      },
                      "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/refunds",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Create a refund.</p>",
        "operationId": "PostRefunds",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "type": "integer"
                  },
                  "charge": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "payment_intent": {
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "reason": {
                    "enum": ["duplicate", "fraudulent", "requested_by_customer"],
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "refund_application_fee": {
                    "type": "boolean"
                  },
                  "reverse_transfer": {
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/refund"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/refunds/{refund}": {
      "get": {
        "description": "<p>Retrieves the details of an existing refund.</p>",
        "operationId": "GetRefundsRefund",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "refund",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/refund"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified refund by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>\n\n<p>This request only accepts <code>metadata</code> as an argument.</p>",
        "operationId": "PostRefundsRefund",
        "parameters": [
          {
            "in": "path",
            "name": "refund",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/refund"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/reporting/report_runs": {
      "get": {
        "description": "<p>Returns a list of Report Runs, with the most recent appearing first.</p>",
        "operationId": "GetReportingReportRuns",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/reporting.report_run"
                      },
                      "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/reporting/report_runs",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new object and begin running the report. (Certain report types require a <a href=\"https://stripe.com/docs/keys#test-live-modes\">live-mode API key</a>.)</p>",
        "operationId": "PostReportingReportRuns",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "parameters": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "parameters": {
                    "description": "Parameters specifying how the report should be run. Different Report Types have different required and optional parameters, listed in the [API Access to Reports](https://stripe.com/docs/reporting/statements/api) documentation.",
                    "properties": {
                      "columns": {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "connected_account": {
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      },
                      "interval_end": {
                        "format": "unix-time",
                        "type": "integer"
                      },
                      "interval_start": {
                        "format": "unix-time",
                        "type": "integer"
                      },
                      "payout": {
                        "type": "string"
                      },
                      "reporting_category": {
                        "enum": [
                          "advance",
                          "advance_funding",
                          "anticipation_repayment",
                          "charge",
                          "charge_failure",
                          "connect_collection_transfer",
                          "connect_reserved_funds",
                          "contribution",
                          "dispute",
                          "dispute_reversal",
                          "fee",
                          "financing_paydown",
                          "financing_paydown_reversal",
                          "financing_payout",
                          "financing_payout_reversal",
                          "issuing_authorization_hold",
                          "issuing_authorization_release",
                          "issuing_dispute",
                          "issuing_transaction",
                          "network_cost",
                          "other_adjustment",
                          "partial_capture_reversal",
                          "payout",
                          "payout_reversal",
                          "platform_earning",
                          "platform_earning_refund",
                          "refund",
                          "refund_failure",
                          "risk_reserved_funds",
                          "tax",
                          "topup",
                          "topup_reversal",
                          "transfer",
                          "transfer_reversal"
                        ],
                        "maxLength": 5000,
                        "type": "string",
                        "x-stripeBypassValidation": true
                      },
                      "timezone": {
                        "enum": [
                          "Africa/Abidjan",
                          "Africa/Accra",
                          "Africa/Addis_Ababa",
                          "Africa/Algiers",
                          "Africa/Asmara",
                          "Africa/Asmera",
                          "Africa/Bamako",
                          "Africa/Bangui",
                          "Africa/Banjul",
                          "Africa/Bissau",
                          "Africa/Blantyre",
                          "Africa/Brazzaville",
                          "Africa/Bujumbura",
                          "Africa/Cairo",
                          "Africa/Casablanca",
                          "Africa/Ceuta",
                          "Africa/Conakry",
                          "Africa/Dakar",
                          "Africa/Dar_es_Salaam",
                          "Africa/Djibouti",
                          "Africa/Douala",
                          "Africa/El_Aaiun",
                          "Africa/Freetown",
                          "Africa/Gaborone",
                          "Africa/Harare",
                          "Africa/Johannesburg",
                          "Africa/Juba",
                          "Africa/Kampala",
                          "Africa/Khartoum",
                          "Africa/Kigali",
                          "Africa/Kinshasa",
                          "Africa/Lagos",
                          "Africa/Libreville",
                          "Africa/Lome",
                          "Africa/Luanda",
                          "Africa/Lubumbashi",
                          "Africa/Lusaka",
                          "Africa/Malabo",
                          "Africa/Maputo",
                          "Africa/Maseru",
                          "Africa/Mbabane",
                          "Africa/Mogadishu",
                          "Africa/Monrovia",
                          "Africa/Nairobi",
                          "Africa/Ndjamena",
                          "Africa/Niamey",
                          "Africa/Nouakchott",
                          "Africa/Ouagadougou",
                          "Africa/Porto-Novo",
                          "Africa/Sao_Tome",
                          "Africa/Timbuktu",
                          "Africa/Tripoli",
                          "Africa/Tunis",
                          "Africa/Windhoek",
                          "America/Adak",
                          "America/Anchorage",
                          "America/Anguilla",
                          "America/Antigua",
                          "America/Araguaina",
                          "America/Argentina/Buenos_Aires",
                          "America/Argentina/Catamarca",
                          "America/Argentina/ComodRivadavia",
                          "America/Argentina/Cordoba",
                          "America/Argentina/Jujuy",
                          "America/Argentina/La_Rioja",
                          "America/Argentina/Mendoza",
                          "America/Argentina/Rio_Gallegos",
                          "America/Argentina/Salta",
                          "America/Argentina/San_Juan",
                          "America/Argentina/San_Luis",
                          "America/Argentina/Tucuman",
                          "America/Argentina/Ushuaia",
                          "America/Aruba",
                          "America/Asuncion",
                          "America/Atikokan",
                          "America/Atka",
                          "America/Bahia",
                          "America/Bahia_Banderas",
                          "America/Barbados",
                          "America/Belem",
                          "America/Belize",
                          "America/Blanc-Sablon",
                          "America/Boa_Vista",
                          "America/Bogota",
                          "America/Boise",
                          "America/Buenos_Aires",
                          "America/Cambridge_Bay",
                          "America/Campo_Grande",
                          "America/Cancun",
                          "America/Caracas",
                          "America/Catamarca",
                          "America/Cayenne",
                          "America/Cayman",
                          "America/Chicago",
                          "America/Chihuahua",
                          "America/Coral_Harbour",
                          "America/Cordoba",
                          "America/Costa_Rica",
                          "America/Creston",
                          "America/Cuiaba",
                          "America/Curacao",
                          "America/Danmarkshavn",
                          "America/Dawson",
                          "America/Dawson_Creek",
                          "America/Denver",
                          "America/Detroit",
                          "America/Dominica",
                          "America/Edmonton",
                          "America/Eirunepe",
                          "America/El_Salvador",
                          "America/Ensenada",
                          "America/Fort_Nelson",
                          "America/Fort_Wayne",
                          "America/Fortaleza",
                          "America/Glace_Bay",
                          "America/Godthab",
                          "America/Goose_Bay",
                          "America/Grand_Turk",
                          "America/Grenada",
                          "America/Guadeloupe",
                          "America/Guatemala",
                          "America/Guayaquil",
                          "America/Guyana",
                          "America/Halifax",
                          "America/Havana",
                          "America/Hermosillo",
                          "America/Indiana/Indianapolis",
                          "America/Indiana/Knox",
                          "America/Indiana/Marengo",
                          "America/Indiana/Petersburg",
                          "America/Indiana/Tell_City",
                          "America/Indiana/Vevay",
                          "America/Indiana/Vincennes",
                          "America/Indiana/Winamac",
                          "America/Indianapolis",
                          "America/Inuvik",
                          "America/Iqaluit",
                          "America/Jamaica",
                          "America/Jujuy",
                          "America/Juneau",
                          "America/Kentucky/Louisville",
                          "America/Kentucky/Monticello",
                          "America/Knox_IN",
                          "America/Kralendijk",
                          "America/La_Paz",
                          "America/Lima",
                          "America/Los_Angeles",
                          "America/Louisville",
                          "America/Lower_Princes",
                          "America/Maceio",
                          "America/Managua",
                          "America/Manaus",
                          "America/Marigot",
                          "America/Martinique",
                          "America/Matamoros",
                          "America/Mazatlan",
                          "America/Mendoza",
                          "America/Menominee",
                          "America/Merida",
                          "America/Metlakatla",
                          "America/Mexico_City",
                          "America/Miquelon",
                          "America/Moncton",
                          "America/Monterrey",
                          "America/Montevideo",
                          "America/Montreal",
                          "America/Montserrat",
                          "America/Nassau",
                          "America/New_York",
                          "America/Nipigon",
                          "America/Nome",
                          "America/Noronha",
                          "America/North_Dakota/Beulah",
                          "America/North_Dakota/Center",
                          "America/North_Dakota/New_Salem",
                          "America/Ojinaga",
                          "America/Panama",
                          "America/Pangnirtung",
                          "America/Paramaribo",
                          "America/Phoenix",
                          "America/Port-au-Prince",
                          "America/Port_of_Spain",
                          "America/Porto_Acre",
                          "America/Porto_Velho",
                          "America/Puerto_Rico",
                          "America/Punta_Arenas",
                          "America/Rainy_River",
                          "America/Rankin_Inlet",
                          "America/Recife",
                          "America/Regina",
                          "America/Resolute",
                          "America/Rio_Branco",
                          "America/Rosario",
                          "America/Santa_Isabel",
                          "America/Santarem",
                          "America/Santiago",
                          "America/Santo_Domingo",
                          "America/Sao_Paulo",
                          "America/Scoresbysund",
                          "America/Shiprock",
                          "America/Sitka",
                          "America/St_Barthelemy",
                          "America/St_Johns",
                          "America/St_Kitts",
                          "America/St_Lucia",
                          "America/St_Thomas",
                          "America/St_Vincent",
                          "America/Swift_Current",
                          "America/Tegucigalpa",
                          "America/Thule",
                          "America/Thunder_Bay",
                          "America/Tijuana",
                          "America/Toronto",
                          "America/Tortola",
                          "America/Vancouver",
                          "America/Virgin",
                          "America/Whitehorse",
                          "America/Winnipeg",
                          "America/Yakutat",
                          "America/Yellowknife",
                          "Antarctica/Casey",
                          "Antarctica/Davis",
                          "Antarctica/DumontDUrville",
                          "Antarctica/Macquarie",
                          "Antarctica/Mawson",
                          "Antarctica/McMurdo",
                          "Antarctica/Palmer",
                          "Antarctica/Rothera",
                          "Antarctica/South_Pole",
                          "Antarctica/Syowa",
                          "Antarctica/Troll",
                          "Antarctica/Vostok",
                          "Arctic/Longyearbyen",
                          "Asia/Aden",
                          "Asia/Almaty",
                          "Asia/Amman",
                          "Asia/Anadyr",
                          "Asia/Aqtau",
                          "Asia/Aqtobe",
                          "Asia/Ashgabat",
                          "Asia/Ashkhabad",
                          "Asia/Atyrau",
                          "Asia/Baghdad",
                          "Asia/Bahrain",
                          "Asia/Baku",
                          "Asia/Bangkok",
                          "Asia/Barnaul",
                          "Asia/Beirut",
                          "Asia/Bishkek",
                          "Asia/Brunei",
                          "Asia/Calcutta",
                          "Asia/Chita",
                          "Asia/Choibalsan",
                          "Asia/Chongqing",
                          "Asia/Chungking",
                          "Asia/Colombo",
                          "Asia/Dacca",
                          "Asia/Damascus",
                          "Asia/Dhaka",
                          "Asia/Dili",
                          "Asia/Dubai",
                          "Asia/Dushanbe",
                          "Asia/Famagusta",
                          "Asia/Gaza",
                          "Asia/Harbin",
                          "Asia/Hebron",
                          "Asia/Ho_Chi_Minh",
                          "Asia/Hong_Kong",
                          "Asia/Hovd",
                          "Asia/Irkutsk",
                          "Asia/Istanbul",
                          "Asia/Jakarta",
                          "Asia/Jayapura",
                          "Asia/Jerusalem",
                          "Asia/Kabul",
                          "Asia/Kamchatka",
                          "Asia/Karachi",
                          "Asia/Kashgar",
                          "Asia/Kathmandu",
                          "Asia/Katmandu",
                          "Asia/Khandyga",
                          "Asia/Kolkata",
                          "Asia/Krasnoyarsk",
                          "Asia/Kuala_Lumpur",
                          "Asia/Kuching",
                          "Asia/Kuwait",
                          "Asia/Macao",
                          "Asia/Macau",
                          "Asia/Magadan",
                          "Asia/Makassar",
                          "Asia/Manila",
                          "Asia/Muscat",
                          "Asia/Nicosia",
                          "Asia/Novokuznetsk",
                          "Asia/Novosibirsk",
                          "Asia/Omsk",
                          "Asia/Oral",
                          "Asia/Phnom_Penh",
                          "Asia/Pontianak",
                          "Asia/Pyongyang",
                          "Asia/Qatar",
                          "Asia/Qostanay",
                          "Asia/Qyzylorda",
                          "Asia/Rangoon",
                          "Asia/Riyadh",
                          "Asia/Saigon",
                          "Asia/Sakhalin",
                          "Asia/Samarkand",
                          "Asia/Seoul",
                          "Asia/Shanghai",
                          "Asia/Singapore",
                          "Asia/Srednekolymsk",
                          "Asia/Taipei",
                          "Asia/Tashkent",
                          "Asia/Tbilisi",
                          "Asia/Tehran",
                          "Asia/Tel_Aviv",
                          "Asia/Thimbu",
                          "Asia/Thimphu",
                          "Asia/Tokyo",
                          "Asia/Tomsk",
                          "Asia/Ujung_Pandang",
                          "Asia/Ulaanbaatar",
                          "Asia/Ulan_Bator",
                          "Asia/Urumqi",
                          "Asia/Ust-Nera",
                          "Asia/Vientiane",
                          "Asia/Vladivostok",
                          "Asia/Yakutsk",
                          "Asia/Yangon",
                          "Asia/Yekaterinburg",
                          "Asia/Yerevan",
                          "Atlantic/Azores",
                          "Atlantic/Bermuda",
                          "Atlantic/Canary",
                          "Atlantic/Cape_Verde",
                          "Atlantic/Faeroe",
                          "Atlantic/Faroe",
                          "Atlantic/Jan_Mayen",
                          "Atlantic/Madeira",
                          "Atlantic/Reykjavik",
                          "Atlantic/South_Georgia",
                          "Atlantic/St_Helena",
                          "Atlantic/Stanley",
                          "Australia/ACT",
                          "Australia/Adelaide",
                          "Australia/Brisbane",
                          "Australia/Broken_Hill",
                          "Australia/Canberra",
                          "Australia/Currie",
                          "Australia/Darwin",
                          "Australia/Eucla",
                          "Australia/Hobart",
                          "Australia/LHI",
                          "Australia/Lindeman",
                          "Australia/Lord_Howe",
                          "Australia/Melbourne",
                          "Australia/NSW",
                          "Australia/North",
                          "Australia/Perth",
                          "Australia/Queensland",
                          "Australia/South",
                          "Australia/Sydney",
                          "Australia/Tasmania",
                          "Australia/Victoria",
                          "Australia/West",
                          "Australia/Yancowinna",
                          "Brazil/Acre",
                          "Brazil/DeNoronha",
                          "Brazil/East",
                          "Brazil/West",
                          "CET",
                          "CST6CDT",
                          "Canada/Atlantic",
                          "Canada/Central",
                          "Canada/Eastern",
                          "Canada/Mountain",
                          "Canada/Newfoundland",
                          "Canada/Pacific",
                          "Canada/Saskatchewan",
                          "Canada/Yukon",
                          "Chile/Continental",
                          "Chile/EasterIsland",
                          "Cuba",
                          "EET",
                          "EST",
                          "EST5EDT",
                          "Egypt",
                          "Eire",
                          "Etc/GMT",
                          "Etc/GMT+0",
                          "Etc/GMT+1",
                          "Etc/GMT+10",
                          "Etc/GMT+11",
                          "Etc/GMT+12",
                          "Etc/GMT+2",
                          "Etc/GMT+3",
                          "Etc/GMT+4",
                          "Etc/GMT+5",
                          "Etc/GMT+6",
                          "Etc/GMT+7",
                          "Etc/GMT+8",
                          "Etc/GMT+9",
                          "Etc/GMT-0",
                          "Etc/GMT-1",
                          "Etc/GMT-10",
                          "Etc/GMT-11",
                          "Etc/GMT-12",
                          "Etc/GMT-13",
                          "Etc/GMT-14",
                          "Etc/GMT-2",
                          "Etc/GMT-3",
                          "Etc/GMT-4",
                          "Etc/GMT-5",
                          "Etc/GMT-6",
                          "Etc/GMT-7",
                          "Etc/GMT-8",
                          "Etc/GMT-9",
                          "Etc/GMT0",
                          "Etc/Greenwich",
                          "Etc/UCT",
                          "Etc/UTC",
                          "Etc/Universal",
                          "Etc/Zulu",
                          "Europe/Amsterdam",
                          "Europe/Andorra",
                          "Europe/Astrakhan",
                          "Europe/Athens",
                          "Europe/Belfast",
                          "Europe/Belgrade",
                          "Europe/Berlin",
                          "Europe/Bratislava",
                          "Europe/Brussels",
                          "Europe/Bucharest",
                          "Europe/Budapest",
                          "Europe/Busingen",
                          "Europe/Chisinau",
                          "Europe/Copenhagen",
                          "Europe/Dublin",
                          "Europe/Gibraltar",
                          "Europe/Guernsey",
                          "Europe/Helsinki",
                          "Europe/Isle_of_Man",
                          "Europe/Istanbul",
                          "Europe/Jersey",
                          "Europe/Kaliningrad",
                          "Europe/Kiev",
                          "Europe/Kirov",
                          "Europe/Lisbon",
                          "Europe/Ljubljana",
                          "Europe/London",
                          "Europe/Luxembourg",
                          "Europe/Madrid",
                          "Europe/Malta",
                          "Europe/Mariehamn",
                          "Europe/Minsk",
                          "Europe/Monaco",
                          "Europe/Moscow",
                          "Europe/Nicosia",
                          "Europe/Oslo",
                          "Europe/Paris",
                          "Europe/Podgorica",
                          "Europe/Prague",
                          "Europe/Riga",
                          "Europe/Rome",
                          "Europe/Samara",
                          "Europe/San_Marino",
                          "Europe/Sarajevo",
                          "Europe/Saratov",
                          "Europe/Simferopol",
                          "Europe/Skopje",
                          "Europe/Sofia",
                          "Europe/Stockholm",
                          "Europe/Tallinn",
                          "Europe/Tirane",
                          "Europe/Tiraspol",
                          "Europe/Ulyanovsk",
                          "Europe/Uzhgorod",
                          "Europe/Vaduz",
                          "Europe/Vatican",
                          "Europe/Vienna",
                          "Europe/Vilnius",
                          "Europe/Volgograd",
                          "Europe/Warsaw",
                          "Europe/Zagreb",
                          "Europe/Zaporozhye",
                          "Europe/Zurich",
                          "Factory",
                          "GB",
                          "GB-Eire",
                          "GMT",
                          "GMT+0",
                          "GMT-0",
                          "GMT0",
                          "Greenwich",
                          "HST",
                          "Hongkong",
                          "Iceland",
                          "Indian/Antananarivo",
                          "Indian/Chagos",
                          "Indian/Christmas",
                          "Indian/Cocos",
                          "Indian/Comoro",
                          "Indian/Kerguelen",
                          "Indian/Mahe",
                          "Indian/Maldives",
                          "Indian/Mauritius",
                          "Indian/Mayotte",
                          "Indian/Reunion",
                          "Iran",
                          "Israel",
                          "Jamaica",
                          "Japan",
                          "Kwajalein",
                          "Libya",
                          "MET",
                          "MST",
                          "MST7MDT",
                          "Mexico/BajaNorte",
                          "Mexico/BajaSur",
                          "Mexico/General",
                          "NZ",
                          "NZ-CHAT",
                          "Navajo",
                          "PRC",
                          "PST8PDT",
                          "Pacific/Apia",
                          "Pacific/Auckland",
                          "Pacific/Bougainville",
                          "Pacific/Chatham",
                          "Pacific/Chuuk",
                          "Pacific/Easter",
                          "Pacific/Efate",
                          "Pacific/Enderbury",
                          "Pacific/Fakaofo",
                          "Pacific/Fiji",
                          "Pacific/Funafuti",
                          "Pacific/Galapagos",
                          "Pacific/Gambier",
                          "Pacific/Guadalcanal",
                          "Pacific/Guam",
                          "Pacific/Honolulu",
                          "Pacific/Johnston",
                          "Pacific/Kiritimati",
                          "Pacific/Kosrae",
                          "Pacific/Kwajalein",
                          "Pacific/Majuro",
                          "Pacific/Marquesas",
                          "Pacific/Midway",
                          "Pacific/Nauru",
                          "Pacific/Niue",
                          "Pacific/Norfolk",
                          "Pacific/Noumea",
                          "Pacific/Pago_Pago",
                          "Pacific/Palau",
                          "Pacific/Pitcairn",
                          "Pacific/Pohnpei",
                          "Pacific/Ponape",
                          "Pacific/Port_Moresby",
                          "Pacific/Rarotonga",
                          "Pacific/Saipan",
                          "Pacific/Samoa",
                          "Pacific/Tahiti",
                          "Pacific/Tarawa",
                          "Pacific/Tongatapu",
                          "Pacific/Truk",
                          "Pacific/Wake",
                          "Pacific/Wallis",
                          "Pacific/Yap",
                          "Poland",
                          "Portugal",
                          "ROC",
                          "ROK",
                          "Singapore",
                          "Turkey",
                          "UCT",
                          "US/Alaska",
                          "US/Aleutian",
                          "US/Arizona",
                          "US/Central",
                          "US/East-Indiana",
                          "US/Eastern",
                          "US/Hawaii",
                          "US/Indiana-Starke",
                          "US/Michigan",
                          "US/Mountain",
                          "US/Pacific",
                          "US/Pacific-New",
                          "US/Samoa",
                          "UTC",
                          "Universal",
                          "W-SU",
                          "WET",
                          "Zulu"
                        ],
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "run_parameter_specs",
                    "type": "object"
                  },
                  "report_type": {
                    "description": "The ID of the [report type](https://stripe.com/docs/reporting/statements/api#report-types) to run, such as `\"balance.summary.1\"`.",
                    "type": "string"
                  }
                },
                "required": ["report_type"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reporting.report_run"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/reporting/report_runs/{report_run}": {
      "get": {
        "description": "<p>Retrieves the details of an existing Report Run.</p>",
        "operationId": "GetReportingReportRunsReportRun",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "report_run",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reporting.report_run"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/reporting/report_types": {
      "get": {
        "description": "<p>Returns a full list of Report Types.</p>",
        "operationId": "GetReportingReportTypes",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/reporting.report_type"
                      },
                      "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": "FinancialReportingFinanceReportTypeList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/reporting/report_types/{report_type}": {
      "get": {
        "description": "<p>Retrieves the details of a Report Type. (Certain report types require a <a href=\"https://stripe.com/docs/keys#test-live-modes\">live-mode API key</a>.)</p>",
        "operationId": "GetReportingReportTypesReportType",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "report_type",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/reporting.report_type"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/reviews": {
      "get": {
        "description": "<p>Returns a list of <code>Review</code> objects that have <code>open</code> set to <code>true</code>. The objects are sorted in descending order by creation date, with the most recently created object appearing first.</p>",
        "operationId": "GetReviews",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/review"
                      },
                      "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/reviews",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/reviews/{review}": {
      "get": {
        "description": "<p>Retrieves a <code>Review</code> object.</p>",
        "operationId": "GetReviewsReview",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "review",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/review"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/reviews/{review}/approve": {
      "post": {
        "description": "<p>Approves a <code>Review</code> object, closing it and removing it from the list of reviews.</p>",
        "operationId": "PostReviewsReviewApprove",
        "parameters": [
          {
            "in": "path",
            "name": "review",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/review"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/setup_attempts": {
      "get": {
        "description": "<p>Returns a list of SetupAttempts associated with a provided SetupIntent.</p>",
        "operationId": "GetSetupAttempts",
        "parameters": [
          {
            "description": "A filter on the list, based on the object `created` field. The value\ncan be a string with an integer Unix timestamp, or it can be a\ndictionary with a number of different query options.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Only return SetupAttempts created by the SetupIntent specified by\nthis ID.",
            "in": "query",
            "name": "setup_intent",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/setup_attempt"
                      },
                      "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/setup_attempts",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "PaymentFlowsSetupIntentSetupAttemptList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/setup_intents": {
      "get": {
        "description": "<p>Returns a list of SetupIntents.</p>",
        "operationId": "GetSetupIntents",
        "parameters": [
          {
            "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return SetupIntents for the customer specified by this customer ID.",
            "in": "query",
            "name": "customer",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Only return SetupIntents associated with the specified payment method.",
            "in": "query",
            "name": "payment_method",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/setup_intent"
                      },
                      "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/setup_intents",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "PaymentFlowsSetupIntentList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a SetupIntent object.</p>\n\n<p>After the SetupIntent is created, attach a payment method and <a href=\"/docs/api/setup_intents/confirm\">confirm</a>\nto collect any required permissions to charge the payment method later.</p>",
        "operationId": "PostSetupIntents",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "mandate_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_options": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_types": {
                  "explode": true,
                  "style": "deepObject"
                },
                "single_use": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "confirm": {
                    "description": "Set to `true` to attempt to confirm this SetupIntent immediately. This parameter defaults to `false`. If the payment method attached is a card, a return_url may be provided in case additional authentication is required.",
                    "type": "boolean"
                  },
                  "customer": {
                    "description": "ID of the Customer this SetupIntent belongs to, if one exists.\n\nIf present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "description": {
                    "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
                    "maxLength": 1000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "mandate_data": {
                    "description": "This hash contains details about the Mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm).",
                    "properties": {
                      "customer_acceptance": {
                        "properties": {
                          "accepted_at": {
                            "format": "unix-time",
                            "type": "integer"
                          },
                          "offline": {
                            "properties": {},
                            "title": "offline_param",
                            "type": "object"
                          },
                          "online": {
                            "properties": {
                              "ip_address": {
                                "type": "string"
                              },
                              "user_agent": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "required": ["ip_address", "user_agent"],
                            "title": "online_param",
                            "type": "object"
                          },
                          "type": {
                            "enum": ["offline", "online"],
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["type"],
                        "title": "customer_acceptance_param",
                        "type": "object"
                      }
                    },
                    "required": ["customer_acceptance"],
                    "title": "secret_key_param",
                    "type": "object"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "on_behalf_of": {
                    "description": "The Stripe account ID for which this SetupIntent is created.",
                    "type": "string"
                  },
                  "payment_method": {
                    "description": "ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "payment_method_options": {
                    "description": "Payment-method-specific configuration for this SetupIntent.",
                    "properties": {
                      "card": {
                        "properties": {
                          "request_three_d_secure": {
                            "enum": ["any", "automatic"],
                            "maxLength": 5000,
                            "type": "string",
                            "x-stripeBypassValidation": true
                          }
                        },
                        "title": "setup_intent_param",
                        "type": "object"
                      },
                      "sepa_debit": {
                        "properties": {
                          "mandate_options": {
                            "properties": {},
                            "title": "payment_method_options_mandate_options_param",
                            "type": "object"
                          }
                        },
                        "title": "setup_intent_payment_method_options_param",
                        "type": "object"
                      }
                    },
                    "title": "payment_method_options_param",
                    "type": "object"
                  },
                  "payment_method_types": {
                    "description": "The list of payment method types (e.g. card) that this SetupIntent is allowed to use. If this is not provided, defaults to [\"card\"].",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "return_url": {
                    "description": "The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/setup_intents/create#create_setup_intent-confirm).",
                    "type": "string"
                  },
                  "single_use": {
                    "description": "If this hash is populated, this SetupIntent will generate a single_use Mandate on success.",
                    "properties": {
                      "amount": {
                        "type": "integer"
                      },
                      "currency": {
                        "type": "string"
                      }
                    },
                    "required": ["amount", "currency"],
                    "title": "setup_intent_single_use_params",
                    "type": "object"
                  },
                  "usage": {
                    "description": "Indicates how the payment method is intended to be used in the future. If not provided, this value defaults to `off_session`.",
                    "enum": ["off_session", "on_session"],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/setup_intent"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/setup_intents/{intent}": {
      "get": {
        "description": "<p>Retrieves the details of a SetupIntent that has previously been created. </p>\n\n<p>Client-side retrieval using a publishable key is allowed when the <code>client_secret</code> is provided in the query string. </p>\n\n<p>When retrieved with a publishable key, only a subset of properties will be returned. Please refer to the <a href=\"#setup_intent_object\">SetupIntent</a> object reference for more details.</p>",
        "operationId": "GetSetupIntentsIntent",
        "parameters": [
          {
            "description": "The client secret of the SetupIntent. Required if a publishable key is used to retrieve the SetupIntent.",
            "in": "query",
            "name": "client_secret",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "intent",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/setup_intent"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates a SetupIntent object.</p>",
        "operationId": "PostSetupIntentsIntent",
        "parameters": [
          {
            "in": "path",
            "name": "intent",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_options": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_types": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "customer": {
                    "description": "ID of the Customer this SetupIntent belongs to, if one exists.\n\nIf present, the SetupIntent's payment method will be attached to the Customer on successful setup. Payment methods attached to other Customers cannot be used with this SetupIntent.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "description": {
                    "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
                    "maxLength": 1000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "payment_method": {
                    "description": "ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "payment_method_options": {
                    "description": "Payment-method-specific configuration for this SetupIntent.",
                    "properties": {
                      "card": {
                        "properties": {
                          "request_three_d_secure": {
                            "enum": ["any", "automatic"],
                            "maxLength": 5000,
                            "type": "string",
                            "x-stripeBypassValidation": true
                          }
                        },
                        "title": "setup_intent_param",
                        "type": "object"
                      },
                      "sepa_debit": {
                        "properties": {
                          "mandate_options": {
                            "properties": {},
                            "title": "payment_method_options_mandate_options_param",
                            "type": "object"
                          }
                        },
                        "title": "setup_intent_payment_method_options_param",
                        "type": "object"
                      }
                    },
                    "title": "payment_method_options_param",
                    "type": "object"
                  },
                  "payment_method_types": {
                    "description": "The list of payment method types (e.g. card) that this SetupIntent is allowed to set up. If this is not provided, defaults to [\"card\"].",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/setup_intent"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/setup_intents/{intent}/cancel": {
      "post": {
        "description": "<p>A SetupIntent object can be canceled when it is in one of these statuses: <code>requires_payment_method</code>, <code>requires_confirmation</code>, or <code>requires_action</code>. </p>\n\n<p>Once canceled, setup is abandoned and any operations on the SetupIntent will fail with an error.</p>",
        "operationId": "PostSetupIntentsIntentCancel",
        "parameters": [
          {
            "in": "path",
            "name": "intent",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "cancellation_reason": {
                    "description": "Reason for canceling this SetupIntent. Possible values are `abandoned`, `requested_by_customer`, or `duplicate`",
                    "enum": ["abandoned", "duplicate", "requested_by_customer"],
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/setup_intent"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/setup_intents/{intent}/confirm": {
      "post": {
        "description": "<p>Confirm that your customer intends to set up the current or\nprovided payment method. For example, you would confirm a SetupIntent\nwhen a customer hits the “Save” button on a payment method management\npage on your website.</p>\n\n<p>If the selected payment method does not require any additional\nsteps from the customer, the SetupIntent will transition to the\n<code>succeeded</code> status.</p>\n\n<p>Otherwise, it will transition to the <code>requires_action</code> status and\nsuggest additional actions via <code>next_action</code>. If setup fails,\nthe SetupIntent will transition to the\n<code>requires_payment_method</code> status.</p>",
        "operationId": "PostSetupIntentsIntentConfirm",
        "parameters": [
          {
            "in": "path",
            "name": "intent",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "mandate_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "payment_method_options": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "client_secret": {
                    "description": "The client secret of the SetupIntent.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "mandate_data": {
                    "anyOf": [
                      {
                        "properties": {
                          "customer_acceptance": {
                            "properties": {
                              "accepted_at": {
                                "format": "unix-time",
                                "type": "integer"
                              },
                              "offline": {
                                "properties": {},
                                "title": "offline_param",
                                "type": "object"
                              },
                              "online": {
                                "properties": {
                                  "ip_address": {
                                    "type": "string"
                                  },
                                  "user_agent": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  }
                                },
                                "required": ["ip_address", "user_agent"],
                                "title": "online_param",
                                "type": "object"
                              },
                              "type": {
                                "enum": ["offline", "online"],
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "required": ["type"],
                            "title": "customer_acceptance_param",
                            "type": "object"
                          }
                        },
                        "required": ["customer_acceptance"],
                        "title": "secret_key_param",
                        "type": "object"
                      },
                      {
                        "properties": {
                          "customer_acceptance": {
                            "properties": {
                              "online": {
                                "properties": {
                                  "ip_address": {
                                    "type": "string"
                                  },
                                  "user_agent": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  }
                                },
                                "title": "online_param",
                                "type": "object"
                              },
                              "type": {
                                "enum": ["online"],
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "required": ["online", "type"],
                            "title": "customer_acceptance_param",
                            "type": "object"
                          }
                        },
                        "required": ["customer_acceptance"],
                        "title": "client_key_param",
                        "type": "object"
                      }
                    ],
                    "description": "This hash contains details about the Mandate to create"
                  },
                  "payment_method": {
                    "description": "ID of the payment method (a PaymentMethod, Card, or saved Source object) to attach to this SetupIntent.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "payment_method_options": {
                    "description": "Payment-method-specific configuration for this SetupIntent.",
                    "properties": {
                      "card": {
                        "properties": {
                          "request_three_d_secure": {
                            "enum": ["any", "automatic"],
                            "maxLength": 5000,
                            "type": "string",
                            "x-stripeBypassValidation": true
                          }
                        },
                        "title": "setup_intent_param",
                        "type": "object"
                      },
                      "sepa_debit": {
                        "properties": {
                          "mandate_options": {
                            "properties": {},
                            "title": "payment_method_options_mandate_options_param",
                            "type": "object"
                          }
                        },
                        "title": "setup_intent_payment_method_options_param",
                        "type": "object"
                      }
                    },
                    "title": "payment_method_options_param",
                    "type": "object"
                  },
                  "return_url": {
                    "description": "The URL to redirect your customer back to after they authenticate on the payment method's app or site.\nIf you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme.\nThis parameter is only used for cards and other redirect-based payment methods.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/setup_intent"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/sigma/scheduled_query_runs": {
      "get": {
        "description": "<p>Returns a list of scheduled query runs.</p>",
        "operationId": "GetSigmaScheduledQueryRuns",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/scheduled_query_run"
                      },
                      "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/sigma/scheduled_query_runs",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/sigma/scheduled_query_runs/{scheduled_query_run}": {
      "get": {
        "description": "<p>Retrieves the details of an scheduled query run.</p>",
        "operationId": "GetSigmaScheduledQueryRunsScheduledQueryRun",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "scheduled_query_run",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/scheduled_query_run"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/skus": {
      "get": {
        "description": "<p>Returns a list of your SKUs. The SKUs are returned sorted by creation date, with the most recently created SKUs appearing first.</p>",
        "operationId": "GetSkus",
        "parameters": [
          {
            "description": "Only return SKUs that are active or inactive (e.g., pass `false` to list all inactive products).",
            "in": "query",
            "name": "active",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Only return SKUs that have the specified key-value pairs in this partially constructed dictionary. Can be specified only if `product` is also supplied. For instance, if the associated product has attributes `[\"color\", \"size\"]`, passing in `attributes[color]=red` returns all the SKUs for this product that have `color` set to `red`.",
            "explode": true,
            "in": "query",
            "name": "attributes",
            "required": false,
            "schema": {
              "additionalProperties": {
                "maxLength": 500,
                "type": "string"
              },
              "type": "object"
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "Only return SKUs with the given IDs.",
            "explode": true,
            "in": "query",
            "name": "ids",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "Only return SKUs that are either in stock or out of stock (e.g., pass `false` to list all SKUs that are out of stock). If no value is provided, all SKUs are returned.",
            "in": "query",
            "name": "in_stock",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "The ID of the product whose SKUs will be retrieved. Must be a product with type `good`.",
            "in": "query",
            "name": "product",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/sku"
                      },
                      "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/skus",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new SKU associated with a product.</p>",
        "operationId": "PostSkus",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "attributes": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "inventory": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "package_dimensions": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "active": {
                    "description": "Whether the SKU is available for purchase. Default to `true`.",
                    "type": "boolean"
                  },
                  "attributes": {
                    "additionalProperties": {
                      "maxLength": 500,
                      "type": "string"
                    },
                    "description": "A dictionary of attributes and values for the attributes defined by the product. If, for example, a product's attributes are `[\"size\", \"gender\"]`, a valid SKU has the following dictionary of attributes: `{\"size\": \"Medium\", \"gender\": \"Unisex\"}`.",
                    "type": "object"
                  },
                  "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).",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "id": {
                    "description": "The identifier for the SKU. Must be unique. If not provided, an identifier will be randomly generated.",
                    "type": "string"
                  },
                  "image": {
                    "description": "The URL of an image for this SKU, meant to be displayable to the customer.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "inventory": {
                    "description": "Description of the SKU's inventory.",
                    "properties": {
                      "quantity": {
                        "type": "integer"
                      },
                      "type": {
                        "enum": ["bucket", "finite", "infinite"],
                        "type": "string"
                      },
                      "value": {
                        "enum": ["", "in_stock", "limited", "out_of_stock"],
                        "type": "string"
                      }
                    },
                    "required": ["type"],
                    "title": "inventory_create_specs",
                    "type": "object"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "package_dimensions": {
                    "description": "The dimensions of this SKU for shipping purposes.",
                    "properties": {
                      "height": {
                        "type": "number"
                      },
                      "length": {
                        "type": "number"
                      },
                      "weight": {
                        "type": "number"
                      },
                      "width": {
                        "type": "number"
                      }
                    },
                    "required": ["height", "length", "weight", "width"],
                    "title": "package_dimensions_specs",
                    "type": "object"
                  },
                  "price": {
                    "description": "The cost of the item as a nonnegative integer in the smallest currency unit (that is, 100 cents to charge $1.00, or 100 to charge ¥100, Japanese Yen being a zero-decimal currency).",
                    "type": "integer"
                  },
                  "product": {
                    "description": "The ID of the product this SKU is associated with. Must be a product with type `good`.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "required": ["currency", "inventory", "price", "product"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/sku"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/skus/{id}": {
      "delete": {
        "description": "<p>Delete a SKU. Deleting a SKU is only possible until it has been used in an order.</p>",
        "operationId": "DeleteSkusId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_sku"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves the details of an existing SKU. Supply the unique SKU identifier from either a SKU creation request or from the product, and Stripe will return the corresponding SKU information.</p>",
        "operationId": "GetSkusId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/sku"
                    },
                    {
                      "$ref": "#/components/schemas/deleted_sku"
                    }
                  ]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specific SKU by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>\n\n<p>Note that a SKU’s <code>attributes</code> are not editable. Instead, you would need to deactivate the existing SKU and create a new one with the new attribute values.</p>",
        "operationId": "PostSkusId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "attributes": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "inventory": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "package_dimensions": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "active": {
                    "description": "Whether this SKU is available for purchase.",
                    "type": "boolean"
                  },
                  "attributes": {
                    "additionalProperties": {
                      "maxLength": 500,
                      "type": "string"
                    },
                    "description": "A dictionary of attributes and values for the attributes defined by the product. When specified, `attributes` will partially update the existing attributes dictionary on the product, with the postcondition that a value must be present for each attribute key on the product.",
                    "type": "object"
                  },
                  "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).",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "image": {
                    "description": "The URL of an image for this SKU, meant to be displayable to the customer.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "inventory": {
                    "description": "Description of the SKU's inventory.",
                    "properties": {
                      "quantity": {
                        "type": "integer"
                      },
                      "type": {
                        "enum": ["bucket", "finite", "infinite"],
                        "type": "string"
                      },
                      "value": {
                        "enum": ["", "in_stock", "limited", "out_of_stock"],
                        "type": "string"
                      }
                    },
                    "title": "inventory_update_specs",
                    "type": "object"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "package_dimensions": {
                    "anyOf": [
                      {
                        "properties": {
                          "height": {
                            "type": "number"
                          },
                          "length": {
                            "type": "number"
                          },
                          "weight": {
                            "type": "number"
                          },
                          "width": {
                            "type": "number"
                          }
                        },
                        "required": ["height", "length", "weight", "width"],
                        "title": "package_dimensions_specs",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The dimensions of this SKU for shipping purposes."
                  },
                  "price": {
                    "description": "The cost of the item as a positive integer in the smallest currency unit (that is, 100 cents to charge $1.00, or 100 to charge ¥100, Japanese Yen being a zero-decimal currency).",
                    "type": "integer"
                  },
                  "product": {
                    "description": "The ID of the product that this SKU should belong to. The product must exist, have the same set of attribute names as the SKU's current product, and be of type `good`.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/sku"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/sources": {
      "post": {
        "description": "<p>Creates a new source object.</p>",
        "operationId": "PostSources",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "mandate": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "owner": {
                  "explode": true,
                  "style": "deepObject"
                },
                "receiver": {
                  "explode": true,
                  "style": "deepObject"
                },
                "redirect": {
                  "explode": true,
                  "style": "deepObject"
                },
                "source_order": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "Amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for `single_use` sources. Not supported for `receiver` type sources, where charge amount may not be specified until funds land.",
                    "type": "integer"
                  },
                  "currency": {
                    "description": "Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready.",
                    "type": "string"
                  },
                  "customer": {
                    "description": "The `Customer` to whom the original source is attached to. Must be set when the original source is not a `Source` (e.g., `Card`).",
                    "maxLength": 500,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "flow": {
                    "description": "The authentication `flow` of the source to create. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`. It is generally inferred unless a type supports multiple flows.",
                    "enum": ["code_verification", "none", "receiver", "redirect"],
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "mandate": {
                    "description": "Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status.",
                    "properties": {
                      "acceptance": {
                        "properties": {
                          "date": {
                            "format": "unix-time",
                            "type": "integer"
                          },
                          "ip": {
                            "type": "string"
                          },
                          "offline": {
                            "properties": {
                              "contact_email": {
                                "type": "string"
                              }
                            },
                            "required": ["contact_email"],
                            "title": "mandate_offline_acceptance_params",
                            "type": "object"
                          },
                          "online": {
                            "properties": {
                              "date": {
                                "format": "unix-time",
                                "type": "integer"
                              },
                              "ip": {
                                "type": "string"
                              },
                              "user_agent": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "mandate_online_acceptance_params",
                            "type": "object"
                          },
                          "status": {
                            "enum": ["accepted", "pending", "refused", "revoked"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "type": {
                            "enum": ["offline", "online"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "user_agent": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["status"],
                        "title": "mandate_acceptance_params",
                        "type": "object"
                      },
                      "amount": {
                        "anyOf": [
                          {
                            "type": "integer"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "currency": {
                        "type": "string"
                      },
                      "interval": {
                        "enum": ["one_time", "scheduled", "variable"],
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "notification_method": {
                        "enum": ["deprecated_none", "email", "manual", "none", "stripe_email"],
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "mandate_params",
                    "type": "object"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "type": "string"
                    },
                    "type": "object"
                  },
                  "original_source": {
                    "description": "The source to share.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "owner": {
                    "description": "Information about the owner of the payment instrument that may be used or required by particular source types.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "source_address",
                        "type": "object"
                      },
                      "email": {
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "phone": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "owner",
                    "type": "object"
                  },
                  "receiver": {
                    "description": "Optional parameters for the receiver flow. Can be set only if the source is a receiver (`flow` is `receiver`).",
                    "properties": {
                      "refund_attributes_method": {
                        "enum": ["email", "manual", "none"],
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "receiver_params",
                    "type": "object"
                  },
                  "redirect": {
                    "description": "Parameters required for the redirect flow. Required if the source is authenticated by a redirect (`flow` is `redirect`).",
                    "properties": {
                      "return_url": {
                        "type": "string"
                      }
                    },
                    "required": ["return_url"],
                    "title": "redirect_params",
                    "type": "object"
                  },
                  "source_order": {
                    "description": "Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it.",
                    "properties": {
                      "items": {
                        "items": {
                          "properties": {
                            "amount": {
                              "type": "integer"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "description": {
                              "maxLength": 1000,
                              "type": "string"
                            },
                            "parent": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "quantity": {
                              "type": "integer"
                            },
                            "type": {
                              "enum": ["discount", "shipping", "sku", "tax"],
                              "maxLength": 5000,
                              "type": "string"
                            }
                          },
                          "title": "order_item_specs",
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "shipping": {
                        "properties": {
                          "address": {
                            "properties": {
                              "city": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "required": ["line1"],
                            "title": "address",
                            "type": "object"
                          },
                          "carrier": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "phone": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "tracking_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["address"],
                        "title": "order_shipping",
                        "type": "object"
                      }
                    },
                    "title": "shallow_order_specs",
                    "type": "object"
                  },
                  "statement_descriptor": {
                    "description": "An arbitrary string to be displayed on your customer's statement. As an example, if your website is `RunClub` and the item you're charging for is a race ticket, you may want to specify a `statement_descriptor` of `RunClub 5K race ticket.` While many payment types will display this information, some may not display it at all.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "token": {
                    "description": "An optional token used to create the source. When passed, token properties will override source parameters.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "type": {
                    "description": "The `type` of the source to create. Required unless `customer` and `original_source` are specified (see the [Cloning card Sources](https://stripe.com/docs/sources/connect#cloning-card-sources) guide)",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "usage": {
                    "enum": ["reusable", "single_use"],
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/source"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/sources/{source}": {
      "get": {
        "description": "<p>Retrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information.</p>",
        "operationId": "GetSourcesSource",
        "parameters": [
          {
            "description": "The client secret of the source. Required if a publishable key is used to retrieve the source.",
            "in": "query",
            "name": "client_secret",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "source",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/source"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>\n\n<p>This request accepts the <code>metadata</code> and <code>owner</code> as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our <a href=\"/docs/sources\">payment method guides</a> for more detail.</p>",
        "operationId": "PostSourcesSource",
        "parameters": [
          {
            "in": "path",
            "name": "source",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "mandate": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "owner": {
                  "explode": true,
                  "style": "deepObject"
                },
                "source_order": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "Amount associated with the source.",
                    "type": "integer"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "mandate": {
                    "description": "Information about a mandate possibility attached to a source object (generally for bank debits) as well as its acceptance status.",
                    "properties": {
                      "acceptance": {
                        "properties": {
                          "date": {
                            "format": "unix-time",
                            "type": "integer"
                          },
                          "ip": {
                            "type": "string"
                          },
                          "offline": {
                            "properties": {
                              "contact_email": {
                                "type": "string"
                              }
                            },
                            "required": ["contact_email"],
                            "title": "mandate_offline_acceptance_params",
                            "type": "object"
                          },
                          "online": {
                            "properties": {
                              "date": {
                                "format": "unix-time",
                                "type": "integer"
                              },
                              "ip": {
                                "type": "string"
                              },
                              "user_agent": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "mandate_online_acceptance_params",
                            "type": "object"
                          },
                          "status": {
                            "enum": ["accepted", "pending", "refused", "revoked"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "type": {
                            "enum": ["offline", "online"],
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "user_agent": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["status"],
                        "title": "mandate_acceptance_params",
                        "type": "object"
                      },
                      "amount": {
                        "anyOf": [
                          {
                            "type": "integer"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "currency": {
                        "type": "string"
                      },
                      "interval": {
                        "enum": ["one_time", "scheduled", "variable"],
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "notification_method": {
                        "enum": ["deprecated_none", "email", "manual", "none", "stripe_email"],
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "mandate_params",
                    "type": "object"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "owner": {
                    "description": "Information about the owner of the payment instrument that may be used or required by particular source types.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "source_address",
                        "type": "object"
                      },
                      "email": {
                        "type": "string"
                      },
                      "name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "phone": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "owner",
                    "type": "object"
                  },
                  "source_order": {
                    "description": "Information about the items and shipping associated with the source. Required for transactional credit (for example Klarna) sources before you can charge it.",
                    "properties": {
                      "items": {
                        "items": {
                          "properties": {
                            "amount": {
                              "type": "integer"
                            },
                            "currency": {
                              "type": "string"
                            },
                            "description": {
                              "maxLength": 1000,
                              "type": "string"
                            },
                            "parent": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "quantity": {
                              "type": "integer"
                            },
                            "type": {
                              "enum": ["discount", "shipping", "sku", "tax"],
                              "maxLength": 5000,
                              "type": "string"
                            }
                          },
                          "title": "order_item_specs",
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "shipping": {
                        "properties": {
                          "address": {
                            "properties": {
                              "city": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "required": ["line1"],
                            "title": "address",
                            "type": "object"
                          },
                          "carrier": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "phone": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "tracking_number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["address"],
                        "title": "order_shipping",
                        "type": "object"
                      }
                    },
                    "title": "order_params",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/source"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/sources/{source}/mandate_notifications/{mandate_notification}": {
      "get": {
        "description": "<p>Retrieves a new Source MandateNotification.</p>",
        "operationId": "GetSourcesSourceMandateNotificationsMandateNotification",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "mandate_notification",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "source",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/source_mandate_notification"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/sources/{source}/source_transactions": {
      "get": {
        "description": "<p>List source transactions for a given source.</p>",
        "operationId": "GetSourcesSourceSourceTransactions",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "in": "path",
            "name": "source",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/source_transaction"
                      },
                      "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": "ApmsSourcesSourceTransactionList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/sources/{source}/source_transactions/{source_transaction}": {
      "get": {
        "description": "<p>Retrieve an existing source transaction object. Supply the unique source ID from a source creation request and the source transaction ID and Stripe will return the corresponding up-to-date source object information.</p>",
        "operationId": "GetSourcesSourceSourceTransactionsSourceTransaction",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "source",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "source_transaction",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/source_transaction"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/sources/{source}/verify": {
      "post": {
        "description": "<p>Verify a given source.</p>",
        "operationId": "PostSourcesSourceVerify",
        "parameters": [
          {
            "in": "path",
            "name": "source",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "values": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "values": {
                    "description": "The values needed to verify the source.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "required": ["values"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/source"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/subscription_items": {
      "get": {
        "description": "<p>Returns a list of your subscription items for a given subscription.</p>",
        "operationId": "GetSubscriptionItems",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "The ID of the subscription whose items will be retrieved.",
            "in": "query",
            "name": "subscription",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/subscription_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,
                      "pattern": "^/v1/subscription_items",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Adds a new item to an existing subscription. No existing items will be changed or replaced.</p>",
        "operationId": "PostSubscriptionItems",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "billing_thresholds": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "price_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "tax_rates": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "billing_thresholds": {
                    "anyOf": [
                      {
                        "properties": {
                          "usage_gte": {
                            "type": "integer"
                          }
                        },
                        "required": ["usage_gte"],
                        "title": "item_billing_thresholds_param",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds."
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "payment_behavior": {
                    "description": "Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.\n\nUse `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).\n\nUse `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.",
                    "enum": ["allow_incomplete", "error_if_incomplete", "pending_if_incomplete"],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "price": {
                    "description": "The ID of the price object.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "price_data": {
                    "description": "Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline.",
                    "properties": {
                      "currency": {
                        "type": "string"
                      },
                      "product": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "recurring": {
                        "properties": {
                          "interval": {
                            "enum": ["day", "month", "week", "year"],
                            "type": "string"
                          },
                          "interval_count": {
                            "type": "integer"
                          }
                        },
                        "required": ["interval"],
                        "title": "recurring_adhoc",
                        "type": "object"
                      },
                      "unit_amount": {
                        "type": "integer"
                      },
                      "unit_amount_decimal": {
                        "format": "decimal",
                        "type": "string"
                      }
                    },
                    "required": ["currency", "product", "recurring"],
                    "title": "recurring_price_data",
                    "type": "object"
                  },
                  "proration_behavior": {
                    "description": "Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. Valid values are `create_prorations`, `none`, or `always_invoice`.\n\nPassing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.\n\nProrations can be disabled by passing `none`.",
                    "enum": ["always_invoice", "create_prorations", "none"],
                    "type": "string"
                  },
                  "proration_date": {
                    "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint.",
                    "format": "unix-time",
                    "type": "integer"
                  },
                  "quantity": {
                    "description": "The quantity you'd like to apply to the subscription item you're creating.",
                    "type": "integer"
                  },
                  "subscription": {
                    "description": "The identifier of the subscription to modify.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "tax_rates": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates."
                  }
                },
                "required": ["subscription"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription_item"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/subscription_items/{item}": {
      "delete": {
        "description": "<p>Deletes an item from the subscription. Removing a subscription item from a subscription will not cancel the subscription.</p>",
        "operationId": "DeleteSubscriptionItemsItem",
        "parameters": [
          {
            "in": "path",
            "name": "item",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "clear_usage": {
                    "description": "Delete all usage for the given subscription item. Allowed only when the current plan's `usage_type` is `metered`.",
                    "type": "boolean"
                  },
                  "proration_behavior": {
                    "description": "Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. Valid values are `create_prorations`, `none`, or `always_invoice`.\n\nPassing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.\n\nProrations can be disabled by passing `none`.",
                    "enum": ["always_invoice", "create_prorations", "none"],
                    "type": "string"
                  },
                  "proration_date": {
                    "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint.",
                    "format": "unix-time",
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_subscription_item"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves the subscription item with the given ID.</p>",
        "operationId": "GetSubscriptionItemsItem",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "item",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription_item"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the plan or quantity of an item on a current subscription.</p>",
        "operationId": "PostSubscriptionItemsItem",
        "parameters": [
          {
            "in": "path",
            "name": "item",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "billing_thresholds": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "price_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "tax_rates": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "billing_thresholds": {
                    "anyOf": [
                      {
                        "properties": {
                          "usage_gte": {
                            "type": "integer"
                          }
                        },
                        "required": ["usage_gte"],
                        "title": "item_billing_thresholds_param",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. When updating, pass an empty string to remove previously-defined thresholds."
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "off_session": {
                    "description": "Indicates if a customer is on or off-session while an invoice payment is attempted.",
                    "type": "boolean"
                  },
                  "payment_behavior": {
                    "description": "Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.\n\nUse `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).\n\nUse `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.",
                    "enum": ["allow_incomplete", "error_if_incomplete", "pending_if_incomplete"],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "price": {
                    "description": "The ID of the price object.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "price_data": {
                    "description": "Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline.",
                    "properties": {
                      "currency": {
                        "type": "string"
                      },
                      "product": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "recurring": {
                        "properties": {
                          "interval": {
                            "enum": ["day", "month", "week", "year"],
                            "type": "string"
                          },
                          "interval_count": {
                            "type": "integer"
                          }
                        },
                        "required": ["interval"],
                        "title": "recurring_adhoc",
                        "type": "object"
                      },
                      "unit_amount": {
                        "type": "integer"
                      },
                      "unit_amount_decimal": {
                        "format": "decimal",
                        "type": "string"
                      }
                    },
                    "required": ["currency", "product", "recurring"],
                    "title": "recurring_price_data",
                    "type": "object"
                  },
                  "proration_behavior": {
                    "description": "Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. Valid values are `create_prorations`, `none`, or `always_invoice`.\n\nPassing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.\n\nProrations can be disabled by passing `none`.",
                    "enum": ["always_invoice", "create_prorations", "none"],
                    "type": "string"
                  },
                  "proration_date": {
                    "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply the same proration that was previewed with the [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint.",
                    "format": "unix-time",
                    "type": "integer"
                  },
                  "quantity": {
                    "description": "The quantity you'd like to apply to the subscription item you're creating.",
                    "type": "integer"
                  },
                  "tax_rates": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "A list of [Tax Rate](https://stripe.com/docs/api/tax_rates) ids. These Tax Rates will override the [`default_tax_rates`](https://stripe.com/docs/api/subscriptions/create#create_subscription-default_tax_rates) on the Subscription. When updating, pass an empty string to remove previously-defined tax rates."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription_item"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/subscription_items/{subscription_item}/usage_record_summaries": {
      "get": {
        "description": "<p>For the specified subscription item, returns a list of summary objects. Each object in the list provides usage information that’s been summarized from multiple usage records and over a subscription billing period (e.g., 15 usage records in the month of September).</p>\n\n<p>The list is sorted in reverse-chronological order (newest first). The first list item represents the most current usage period that hasn’t ended yet. Since new usage records can still be added, the returned summary information for the subscription item’s ID should be seen as unstable until the subscription billing period ends.</p>",
        "operationId": "GetSubscriptionItemsSubscriptionItemUsageRecordSummaries",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "in": "path",
            "name": "subscription_item",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/usage_record_summary"
                      },
                      "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"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/subscription_items/{subscription_item}/usage_records": {
      "post": {
        "description": "<p>Creates a usage record for a specified subscription item and date, and fills it with a quantity.</p>\n\n<p>Usage records provide <code>quantity</code> information that Stripe uses to track how much a customer is using your service. With usage information and the pricing model set up by the <a href=\"https://stripe.com/docs/billing/subscriptions/metered-billing\">metered billing</a> plan, Stripe helps you send accurate invoices to your customers.</p>\n\n<p>The default calculation for usage is to add up all the <code>quantity</code> values of the usage records within a billing period. You can change this default behavior with the billing plan’s <code>aggregate_usage</code> <a href=\"/docs/api/plans/create#create_plan-aggregate_usage\">parameter</a>. When there is more than one usage record with the same timestamp, Stripe adds the <code>quantity</code> values together. In most cases, this is the desired resolution, however, you can change this behavior with the <code>action</code> parameter.</p>\n\n<p>The default pricing model for metered billing is <a href=\"/docs/api/plans/object#plan_object-billing_scheme\">per-unit pricing</a>. For finer granularity, you can configure metered billing to have a <a href=\"https://stripe.com/docs/billing/subscriptions/tiers\">tiered pricing</a> model.</p>",
        "operationId": "PostSubscriptionItemsSubscriptionItemUsageRecords",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_item",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "action": {
                    "description": "Valid values are `increment` (default) or `set`. When using `increment` the specified `quantity` will be added to the usage at the specified timestamp. The `set` action will overwrite the usage quantity at that timestamp. If the subscription has [billing thresholds](https://stripe.com/docs/api/subscriptions/object#subscription_object-billing_thresholds), `increment` is the only allowed value.",
                    "enum": ["increment", "set"],
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "quantity": {
                    "description": "The usage quantity for the specified timestamp.",
                    "type": "integer"
                  },
                  "timestamp": {
                    "description": "The timestamp for the usage event. This timestamp must be within the current billing period of the subscription of the provided `subscription_item`.",
                    "type": "integer"
                  }
                },
                "required": ["quantity", "timestamp"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/usage_record"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/subscription_schedules": {
      "get": {
        "description": "<p>Retrieves the list of your subscription schedules.</p>",
        "operationId": "GetSubscriptionSchedules",
        "parameters": [
          {
            "description": "Only return subscription schedules that were created canceled the given date interval.",
            "explode": true,
            "in": "query",
            "name": "canceled_at",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return subscription schedules that completed during the given date interval.",
            "explode": true,
            "in": "query",
            "name": "completed_at",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return subscription schedules that were created during the given date interval.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return subscription schedules for the given customer.",
            "in": "query",
            "name": "customer",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Only return subscription schedules that were released during the given date interval.",
            "explode": true,
            "in": "query",
            "name": "released_at",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return subscription schedules that have not started yet.",
            "in": "query",
            "name": "scheduled",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/subscription_schedule"
                      },
                      "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/subscription_schedules",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new subscription schedule object. Each customer can have up to 500 active or scheduled subscriptions.</p>",
        "operationId": "PostSubscriptionSchedules",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "default_settings": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "phases": {
                  "explode": true,
                  "style": "deepObject"
                },
                "start_date": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "customer": {
                    "description": "The identifier of the customer to create the subscription schedule for.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_settings": {
                    "description": "Object representing the subscription schedule's default settings.",
                    "properties": {
                      "application_fee_percent": {
                        "type": "number"
                      },
                      "billing_cycle_anchor": {
                        "enum": ["automatic", "phase_start"],
                        "type": "string"
                      },
                      "billing_thresholds": {
                        "anyOf": [
                          {
                            "properties": {
                              "amount_gte": {
                                "type": "integer"
                              },
                              "reset_billing_cycle_anchor": {
                                "type": "boolean"
                              }
                            },
                            "title": "billing_thresholds_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "collection_method": {
                        "enum": ["charge_automatically", "send_invoice"],
                        "type": "string"
                      },
                      "default_payment_method": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "invoice_settings": {
                        "properties": {
                          "days_until_due": {
                            "type": "integer"
                          }
                        },
                        "title": "subscription_schedules_param",
                        "type": "object"
                      },
                      "transfer_data": {
                        "anyOf": [
                          {
                            "properties": {
                              "amount_percent": {
                                "type": "number"
                              },
                              "destination": {
                                "type": "string"
                              }
                            },
                            "required": ["destination"],
                            "title": "transfer_data_specs",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      }
                    },
                    "title": "default_settings_params",
                    "type": "object"
                  },
                  "end_behavior": {
                    "description": "Configures how the subscription schedule behaves when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running.`cancel` will end the subscription schedule and cancel the underlying subscription.",
                    "enum": ["cancel", "none", "release", "renew"],
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "from_subscription": {
                    "description": "Migrate an existing subscription to be managed by a subscription schedule. If this parameter is set, a subscription schedule will be created using the subscription's item(s), set to auto-renew using the subscription's interval. When using this parameter, other parameters (such as phase values) cannot be set. To create a subscription schedule with other modifications, we recommend making two separate API calls.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "phases": {
                    "description": "List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase.",
                    "items": {
                      "properties": {
                        "add_invoice_items": {
                          "items": {
                            "properties": {
                              "price": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "price_data": {
                                "properties": {
                                  "currency": {
                                    "type": "string"
                                  },
                                  "product": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "unit_amount": {
                                    "type": "integer"
                                  },
                                  "unit_amount_decimal": {
                                    "format": "decimal",
                                    "type": "string"
                                  }
                                },
                                "required": ["currency", "product"],
                                "title": "one_time_price_data",
                                "type": "object"
                              },
                              "quantity": {
                                "type": "integer"
                              },
                              "tax_rates": {
                                "anyOf": [
                                  {
                                    "items": {
                                      "maxLength": 5000,
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              }
                            },
                            "title": "add_invoice_item_entry",
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "application_fee_percent": {
                          "type": "number"
                        },
                        "billing_cycle_anchor": {
                          "enum": ["automatic", "phase_start"],
                          "type": "string"
                        },
                        "billing_thresholds": {
                          "anyOf": [
                            {
                              "properties": {
                                "amount_gte": {
                                  "type": "integer"
                                },
                                "reset_billing_cycle_anchor": {
                                  "type": "boolean"
                                }
                              },
                              "title": "billing_thresholds_param",
                              "type": "object"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        },
                        "collection_method": {
                          "enum": ["charge_automatically", "send_invoice"],
                          "type": "string"
                        },
                        "coupon": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "default_payment_method": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "default_tax_rates": {
                          "anyOf": [
                            {
                              "items": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        },
                        "end_date": {
                          "format": "unix-time",
                          "type": "integer"
                        },
                        "invoice_settings": {
                          "properties": {
                            "days_until_due": {
                              "type": "integer"
                            }
                          },
                          "title": "subscription_schedules_param",
                          "type": "object"
                        },
                        "items": {
                          "items": {
                            "properties": {
                              "billing_thresholds": {
                                "anyOf": [
                                  {
                                    "properties": {
                                      "usage_gte": {
                                        "type": "integer"
                                      }
                                    },
                                    "required": ["usage_gte"],
                                    "title": "item_billing_thresholds_param",
                                    "type": "object"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "price": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "price_data": {
                                "properties": {
                                  "currency": {
                                    "type": "string"
                                  },
                                  "product": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "recurring": {
                                    "properties": {
                                      "interval": {
                                        "enum": ["day", "month", "week", "year"],
                                        "type": "string"
                                      },
                                      "interval_count": {
                                        "type": "integer"
                                      }
                                    },
                                    "required": ["interval"],
                                    "title": "recurring_adhoc",
                                    "type": "object"
                                  },
                                  "unit_amount": {
                                    "type": "integer"
                                  },
                                  "unit_amount_decimal": {
                                    "format": "decimal",
                                    "type": "string"
                                  }
                                },
                                "required": ["currency", "product", "recurring"],
                                "title": "recurring_price_data",
                                "type": "object"
                              },
                              "quantity": {
                                "type": "integer"
                              },
                              "tax_rates": {
                                "anyOf": [
                                  {
                                    "items": {
                                      "maxLength": 5000,
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              }
                            },
                            "title": "configuration_item_params",
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "iterations": {
                          "type": "integer"
                        },
                        "proration_behavior": {
                          "enum": ["always_invoice", "create_prorations", "none"],
                          "type": "string"
                        },
                        "transfer_data": {
                          "properties": {
                            "amount_percent": {
                              "type": "number"
                            },
                            "destination": {
                              "type": "string"
                            }
                          },
                          "required": ["destination"],
                          "title": "transfer_data_specs",
                          "type": "object"
                        },
                        "trial": {
                          "type": "boolean"
                        },
                        "trial_end": {
                          "format": "unix-time",
                          "type": "integer"
                        }
                      },
                      "required": ["items"],
                      "title": "phase_configuration_params",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "start_date": {
                    "anyOf": [
                      {
                        "type": "integer"
                      },
                      {
                        "enum": ["now"],
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "description": "When the subscription schedule starts. We recommend using `now` so that it starts the subscription immediately. You can also use a Unix timestamp to backdate the subscription so that it starts on a past date, or set a future date for the subscription to start on."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription_schedule"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/subscription_schedules/{schedule}": {
      "get": {
        "description": "<p>Retrieves the details of an existing subscription schedule. You only need to supply the unique subscription schedule identifier that was returned upon subscription schedule creation.</p>",
        "operationId": "GetSubscriptionSchedulesSchedule",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "schedule",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription_schedule"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates an existing subscription schedule.</p>",
        "operationId": "PostSubscriptionSchedulesSchedule",
        "parameters": [
          {
            "in": "path",
            "name": "schedule",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "default_settings": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "phases": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "default_settings": {
                    "description": "Object representing the subscription schedule's default settings.",
                    "properties": {
                      "application_fee_percent": {
                        "type": "number"
                      },
                      "billing_cycle_anchor": {
                        "enum": ["automatic", "phase_start"],
                        "type": "string"
                      },
                      "billing_thresholds": {
                        "anyOf": [
                          {
                            "properties": {
                              "amount_gte": {
                                "type": "integer"
                              },
                              "reset_billing_cycle_anchor": {
                                "type": "boolean"
                              }
                            },
                            "title": "billing_thresholds_param",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "collection_method": {
                        "enum": ["charge_automatically", "send_invoice"],
                        "type": "string"
                      },
                      "default_payment_method": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "invoice_settings": {
                        "properties": {
                          "days_until_due": {
                            "type": "integer"
                          }
                        },
                        "title": "subscription_schedules_param",
                        "type": "object"
                      },
                      "transfer_data": {
                        "anyOf": [
                          {
                            "properties": {
                              "amount_percent": {
                                "type": "number"
                              },
                              "destination": {
                                "type": "string"
                              }
                            },
                            "required": ["destination"],
                            "title": "transfer_data_specs",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      }
                    },
                    "title": "default_settings_params",
                    "type": "object"
                  },
                  "end_behavior": {
                    "description": "Configures how the subscription schedule behaves when it ends. Possible values are `release` or `cancel` with the default being `release`. `release` will end the subscription schedule and keep the underlying subscription running.`cancel` will end the subscription schedule and cancel the underlying subscription.",
                    "enum": ["cancel", "none", "release", "renew"],
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "phases": {
                    "description": "List representing phases of the subscription schedule. Each phase can be customized to have different durations, plans, and coupons. If there are multiple phases, the `end_date` of one phase will always equal the `start_date` of the next phase. Note that past phases can be omitted.",
                    "items": {
                      "properties": {
                        "add_invoice_items": {
                          "items": {
                            "properties": {
                              "price": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "price_data": {
                                "properties": {
                                  "currency": {
                                    "type": "string"
                                  },
                                  "product": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "unit_amount": {
                                    "type": "integer"
                                  },
                                  "unit_amount_decimal": {
                                    "format": "decimal",
                                    "type": "string"
                                  }
                                },
                                "required": ["currency", "product"],
                                "title": "one_time_price_data",
                                "type": "object"
                              },
                              "quantity": {
                                "type": "integer"
                              },
                              "tax_rates": {
                                "anyOf": [
                                  {
                                    "items": {
                                      "maxLength": 5000,
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              }
                            },
                            "title": "add_invoice_item_entry",
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "application_fee_percent": {
                          "type": "number"
                        },
                        "billing_cycle_anchor": {
                          "enum": ["automatic", "phase_start"],
                          "type": "string"
                        },
                        "billing_thresholds": {
                          "anyOf": [
                            {
                              "properties": {
                                "amount_gte": {
                                  "type": "integer"
                                },
                                "reset_billing_cycle_anchor": {
                                  "type": "boolean"
                                }
                              },
                              "title": "billing_thresholds_param",
                              "type": "object"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        },
                        "collection_method": {
                          "enum": ["charge_automatically", "send_invoice"],
                          "type": "string"
                        },
                        "coupon": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "default_payment_method": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "default_tax_rates": {
                          "anyOf": [
                            {
                              "items": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        },
                        "end_date": {
                          "anyOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "enum": ["now"],
                              "maxLength": 5000,
                              "type": "string"
                            }
                          ]
                        },
                        "invoice_settings": {
                          "properties": {
                            "days_until_due": {
                              "type": "integer"
                            }
                          },
                          "title": "subscription_schedules_param",
                          "type": "object"
                        },
                        "items": {
                          "items": {
                            "properties": {
                              "billing_thresholds": {
                                "anyOf": [
                                  {
                                    "properties": {
                                      "usage_gte": {
                                        "type": "integer"
                                      }
                                    },
                                    "required": ["usage_gte"],
                                    "title": "item_billing_thresholds_param",
                                    "type": "object"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              },
                              "price": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "price_data": {
                                "properties": {
                                  "currency": {
                                    "type": "string"
                                  },
                                  "product": {
                                    "maxLength": 5000,
                                    "type": "string"
                                  },
                                  "recurring": {
                                    "properties": {
                                      "interval": {
                                        "enum": ["day", "month", "week", "year"],
                                        "type": "string"
                                      },
                                      "interval_count": {
                                        "type": "integer"
                                      }
                                    },
                                    "required": ["interval"],
                                    "title": "recurring_adhoc",
                                    "type": "object"
                                  },
                                  "unit_amount": {
                                    "type": "integer"
                                  },
                                  "unit_amount_decimal": {
                                    "format": "decimal",
                                    "type": "string"
                                  }
                                },
                                "required": ["currency", "product", "recurring"],
                                "title": "recurring_price_data",
                                "type": "object"
                              },
                              "quantity": {
                                "type": "integer"
                              },
                              "tax_rates": {
                                "anyOf": [
                                  {
                                    "items": {
                                      "maxLength": 5000,
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  {
                                    "enum": [""],
                                    "type": "string"
                                  }
                                ]
                              }
                            },
                            "title": "configuration_item_params",
                            "type": "object"
                          },
                          "type": "array"
                        },
                        "iterations": {
                          "type": "integer"
                        },
                        "proration_behavior": {
                          "enum": ["always_invoice", "create_prorations", "none"],
                          "type": "string"
                        },
                        "start_date": {
                          "anyOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "enum": ["now"],
                              "maxLength": 5000,
                              "type": "string"
                            }
                          ]
                        },
                        "transfer_data": {
                          "properties": {
                            "amount_percent": {
                              "type": "number"
                            },
                            "destination": {
                              "type": "string"
                            }
                          },
                          "required": ["destination"],
                          "title": "transfer_data_specs",
                          "type": "object"
                        },
                        "trial": {
                          "type": "boolean"
                        },
                        "trial_end": {
                          "anyOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "enum": ["now"],
                              "maxLength": 5000,
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "required": ["items"],
                      "title": "phase_configuration_params",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "proration_behavior": {
                    "description": "If the update changes the current phase, indicates if the changes should be prorated. Possible values are `create_prorations` or `none`, and the default value is `create_prorations`.",
                    "enum": ["always_invoice", "create_prorations", "none"],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription_schedule"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/subscription_schedules/{schedule}/cancel": {
      "post": {
        "description": "<p>Cancels a subscription schedule and its associated subscription immediately (if the subscription schedule has an active subscription). A subscription schedule can only be canceled if its status is <code>not_started</code> or <code>active</code>.</p>",
        "operationId": "PostSubscriptionSchedulesScheduleCancel",
        "parameters": [
          {
            "in": "path",
            "name": "schedule",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "invoice_now": {
                    "description": "If the subscription schedule is `active`, indicates if a final invoice will be generated that contains any un-invoiced metered usage and new/pending proration invoice items. Defaults to `true`.",
                    "type": "boolean"
                  },
                  "prorate": {
                    "description": "If the subscription schedule is `active`, indicates if the cancellation should be prorated. Defaults to `true`.",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription_schedule"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/subscription_schedules/{schedule}/release": {
      "post": {
        "description": "<p>Releases the subscription schedule immediately, which will stop scheduling of its phases, but leave any existing subscription in place. A schedule can only be released if its status is <code>not_started</code> or <code>active</code>. If the subscription schedule is currently associated with a subscription, releasing it will remove its <code>subscription</code> property and set the subscription’s ID to the <code>released_subscription</code> property.</p>",
        "operationId": "PostSubscriptionSchedulesScheduleRelease",
        "parameters": [
          {
            "in": "path",
            "name": "schedule",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "preserve_cancel_date": {
                    "description": "Keep any cancellation on the subscription that the schedule has set",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription_schedule"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/subscriptions": {
      "get": {
        "description": "<p>By default, returns a list of subscriptions that have not been canceled. In order to list canceled subscriptions, specify <code>status=canceled</code>.</p>",
        "operationId": "GetSubscriptions",
        "parameters": [
          {
            "description": "The collection method of the subscriptions to retrieve. Either `charge_automatically` or `send_invoice`.",
            "in": "query",
            "name": "collection_method",
            "required": false,
            "schema": {
              "enum": ["charge_automatically", "send_invoice"],
              "type": "string"
            },
            "style": "form"
          },
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "explode": true,
            "in": "query",
            "name": "current_period_end",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "explode": true,
            "in": "query",
            "name": "current_period_start",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "The ID of the customer whose subscriptions will be retrieved.",
            "in": "query",
            "name": "customer",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Filter for subscriptions that contain this recurring price ID.",
            "in": "query",
            "name": "price",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "The status of the subscriptions to retrieve. Passing in a value of `canceled` will return all canceled subscriptions, including those belonging to deleted customers. Pass `ended` to find subscriptions that are canceled and subscriptions that are expired due to [incomplete payment](https://stripe.com/docs/billing/subscriptions/overview#subscription-statuses). Passing in a value of `all` will return subscriptions of all statuses.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "enum": [
                "active",
                "all",
                "canceled",
                "ended",
                "incomplete",
                "incomplete_expired",
                "past_due",
                "trialing",
                "unpaid"
              ],
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/subscription"
                      },
                      "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/subscriptions",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new subscription on an existing customer. Each customer can have up to 500 active or scheduled subscriptions.</p>",
        "operationId": "PostSubscriptions",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "add_invoice_items": {
                  "explode": true,
                  "style": "deepObject"
                },
                "billing_thresholds": {
                  "explode": true,
                  "style": "deepObject"
                },
                "default_tax_rates": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "items": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "pending_invoice_item_interval": {
                  "explode": true,
                  "style": "deepObject"
                },
                "transfer_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "trial_end": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "add_invoice_items": {
                    "description": "A list of prices and quantities that will generate invoice items appended to the first invoice for this subscription. You may pass up to 20 items.",
                    "items": {
                      "properties": {
                        "price": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "price_data": {
                          "properties": {
                            "currency": {
                              "type": "string"
                            },
                            "product": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "unit_amount": {
                              "type": "integer"
                            },
                            "unit_amount_decimal": {
                              "format": "decimal",
                              "type": "string"
                            }
                          },
                          "required": ["currency", "product"],
                          "title": "one_time_price_data",
                          "type": "object"
                        },
                        "quantity": {
                          "type": "integer"
                        },
                        "tax_rates": {
                          "anyOf": [
                            {
                              "items": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "title": "add_invoice_item_entry",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "application_fee_percent": {
                    "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).",
                    "type": "number"
                  },
                  "backdate_start_date": {
                    "description": "For new subscriptions, a past timestamp to backdate the subscription's start date to. If set, the first invoice will contain a proration for the timespan between the start date and the current time. Can be combined with trials and the billing cycle anchor.",
                    "format": "unix-time",
                    "type": "integer"
                  },
                  "billing_cycle_anchor": {
                    "description": "A future timestamp to anchor the subscription's [billing cycle](https://stripe.com/docs/subscriptions/billing-cycle). This is used to determine the date of the first full invoice, and, for plans with `month` or `year` intervals, the day of the month for subsequent invoices.",
                    "format": "unix-time",
                    "type": "integer",
                    "x-stripeBypassValidation": true
                  },
                  "billing_thresholds": {
                    "anyOf": [
                      {
                        "properties": {
                          "amount_gte": {
                            "type": "integer"
                          },
                          "reset_billing_cycle_anchor": {
                            "type": "boolean"
                          }
                        },
                        "title": "billing_thresholds_param",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds."
                  },
                  "cancel_at": {
                    "description": "A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period.",
                    "format": "unix-time",
                    "type": "integer"
                  },
                  "cancel_at_period_end": {
                    "description": "Boolean indicating whether this subscription should cancel at the end of the current period.",
                    "type": "boolean"
                  },
                  "collection_method": {
                    "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to `charge_automatically`.",
                    "enum": ["charge_automatically", "send_invoice"],
                    "type": "string"
                  },
                  "coupon": {
                    "description": "The code of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "customer": {
                    "description": "The identifier of the customer to subscribe.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "days_until_due": {
                    "description": "Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`.",
                    "type": "integer"
                  },
                  "default_payment_method": {
                    "description": "ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_source": {
                    "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_tax_rates": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription."
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "items": {
                    "description": "A list of up to 20 subscription items, each with an attached price.",
                    "items": {
                      "properties": {
                        "billing_thresholds": {
                          "anyOf": [
                            {
                              "properties": {
                                "usage_gte": {
                                  "type": "integer"
                                }
                              },
                              "required": ["usage_gte"],
                              "title": "item_billing_thresholds_param",
                              "type": "object"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        },
                        "metadata": {
                          "additionalProperties": {
                            "type": "string"
                          },
                          "type": "object"
                        },
                        "price": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "price_data": {
                          "properties": {
                            "currency": {
                              "type": "string"
                            },
                            "product": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "recurring": {
                              "properties": {
                                "interval": {
                                  "enum": ["day", "month", "week", "year"],
                                  "type": "string"
                                },
                                "interval_count": {
                                  "type": "integer"
                                }
                              },
                              "required": ["interval"],
                              "title": "recurring_adhoc",
                              "type": "object"
                            },
                            "unit_amount": {
                              "type": "integer"
                            },
                            "unit_amount_decimal": {
                              "format": "decimal",
                              "type": "string"
                            }
                          },
                          "required": ["currency", "product", "recurring"],
                          "title": "recurring_price_data",
                          "type": "object"
                        },
                        "quantity": {
                          "type": "integer"
                        },
                        "tax_rates": {
                          "anyOf": [
                            {
                              "items": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "title": "subscription_item_create_params",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "off_session": {
                    "description": "Indicates if a customer is on or off-session while an invoice payment is attempted.",
                    "type": "boolean"
                  },
                  "payment_behavior": {
                    "description": "Use `allow_incomplete` to create subscriptions with `status=incomplete` if the first invoice cannot be paid. Creating subscriptions with this status allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.\n\nUse `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's first invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not create a subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.\n\n`pending_if_incomplete` is only used with updates and cannot be passed when creating a subscription.",
                    "enum": ["allow_incomplete", "error_if_incomplete", "pending_if_incomplete"],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "pending_invoice_item_interval": {
                    "anyOf": [
                      {
                        "properties": {
                          "interval": {
                            "enum": ["day", "month", "week", "year"],
                            "type": "string"
                          },
                          "interval_count": {
                            "type": "integer"
                          }
                        },
                        "required": ["interval"],
                        "title": "pending_invoice_item_interval_params",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval."
                  },
                  "promotion_code": {
                    "description": "The API ID of a promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "proration_behavior": {
                    "description": "Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) resulting from the `billing_cycle_anchor`. Valid values are `create_prorations` or `none`.\n\nPassing `create_prorations` will cause proration invoice items to be created when applicable. Prorations can be disabled by passing `none`. If no value is passed, the default is `create_prorations`.",
                    "enum": ["always_invoice", "create_prorations", "none"],
                    "type": "string"
                  },
                  "transfer_data": {
                    "description": "If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges.",
                    "properties": {
                      "amount_percent": {
                        "type": "number"
                      },
                      "destination": {
                        "type": "string"
                      }
                    },
                    "required": ["destination"],
                    "title": "transfer_data_specs",
                    "type": "object"
                  },
                  "trial_end": {
                    "anyOf": [
                      {
                        "enum": ["now"],
                        "maxLength": 5000,
                        "type": "string"
                      },
                      {
                        "format": "unix-time",
                        "type": "integer"
                      }
                    ],
                    "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`."
                  },
                  "trial_from_plan": {
                    "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed.",
                    "type": "boolean"
                  },
                  "trial_period_days": {
                    "description": "Integer representing the number of trial period days before the customer is charged for the first time. This will always overwrite any trials that might apply via a subscribed plan.",
                    "type": "integer"
                  }
                },
                "required": ["customer"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/subscriptions/{subscription_exposed_id}": {
      "delete": {
        "description": "<p>Cancels a customer’s subscription immediately. The customer will not be charged again for the subscription.</p>\n\n<p>Note, however, that any pending invoice items that you’ve created will still be charged for at the end of the period, unless manually <a href=\"#delete_invoiceitem\">deleted</a>. If you’ve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed.</p>\n\n<p>By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all.</p>",
        "operationId": "DeleteSubscriptionsSubscriptionExposedId",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_exposed_id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "invoice_now": {
                    "description": "Will generate a final invoice that invoices for any un-invoiced metered usage and new/pending proration invoice items.",
                    "type": "boolean"
                  },
                  "prorate": {
                    "description": "Will generate a proration invoice item that credits remaining unused time until the subscription period end.",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves the subscription with the given ID.</p>",
        "operationId": "GetSubscriptionsSubscriptionExposedId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "subscription_exposed_id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the <a href=\"#upcoming_invoice\">upcoming invoice</a> endpoint.</p>",
        "operationId": "PostSubscriptionsSubscriptionExposedId",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_exposed_id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "add_invoice_items": {
                  "explode": true,
                  "style": "deepObject"
                },
                "billing_thresholds": {
                  "explode": true,
                  "style": "deepObject"
                },
                "cancel_at": {
                  "explode": true,
                  "style": "deepObject"
                },
                "default_tax_rates": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "items": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                },
                "pause_collection": {
                  "explode": true,
                  "style": "deepObject"
                },
                "pending_invoice_item_interval": {
                  "explode": true,
                  "style": "deepObject"
                },
                "transfer_data": {
                  "explode": true,
                  "style": "deepObject"
                },
                "trial_end": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "add_invoice_items": {
                    "description": "A list of prices and quantities that will generate invoice items appended to the first invoice for this subscription. You may pass up to 20 items.",
                    "items": {
                      "properties": {
                        "price": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "price_data": {
                          "properties": {
                            "currency": {
                              "type": "string"
                            },
                            "product": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "unit_amount": {
                              "type": "integer"
                            },
                            "unit_amount_decimal": {
                              "format": "decimal",
                              "type": "string"
                            }
                          },
                          "required": ["currency", "product"],
                          "title": "one_time_price_data",
                          "type": "object"
                        },
                        "quantity": {
                          "type": "integer"
                        },
                        "tax_rates": {
                          "anyOf": [
                            {
                              "items": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "title": "add_invoice_item_entry",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "application_fee_percent": {
                    "description": "A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner's Stripe account. The request must be made by a platform account on a connected account in order to set an application fee percentage. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).",
                    "type": "number"
                  },
                  "billing_cycle_anchor": {
                    "description": "Either `now` or `unchanged`. Setting the value to `now` resets the subscription's billing cycle anchor to the current time. For more information, see the billing cycle [documentation](https://stripe.com/docs/billing/subscriptions/billing-cycle).",
                    "enum": ["now", "unchanged"],
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "billing_thresholds": {
                    "anyOf": [
                      {
                        "properties": {
                          "amount_gte": {
                            "type": "integer"
                          },
                          "reset_billing_cycle_anchor": {
                            "type": "boolean"
                          }
                        },
                        "title": "billing_thresholds_param",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period. Pass an empty string to remove previously-defined thresholds."
                  },
                  "cancel_at": {
                    "anyOf": [
                      {
                        "format": "unix-time",
                        "type": "integer"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "A timestamp at which the subscription should cancel. If set to a date before the current period ends, this will cause a proration if prorations have been enabled using `proration_behavior`. If set during a future period, this will always cause a proration for that period."
                  },
                  "cancel_at_period_end": {
                    "description": "Boolean indicating whether this subscription should cancel at the end of the current period.",
                    "type": "boolean"
                  },
                  "collection_method": {
                    "description": "Either `charge_automatically`, or `send_invoice`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. Defaults to `charge_automatically`.",
                    "enum": ["charge_automatically", "send_invoice"],
                    "type": "string"
                  },
                  "coupon": {
                    "description": "The code of the coupon to apply to this subscription. A coupon applied to a subscription will only affect invoices created for that particular subscription.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "days_until_due": {
                    "description": "Number of days a customer has to pay invoices generated by this subscription. Valid only for subscriptions where `collection_method` is set to `send_invoice`.",
                    "type": "integer"
                  },
                  "default_payment_method": {
                    "description": "ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over `default_source`. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_source": {
                    "description": "ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If `default_payment_method` is also set, `default_payment_method` will take precedence. If neither are set, invoices will use the customer's [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) or [default_source](https://stripe.com/docs/api/customers/object#customer_object-default_source).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "default_tax_rates": {
                    "anyOf": [
                      {
                        "items": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "type": "array"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. Pass an empty string to remove previously-defined tax rates."
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "items": {
                    "description": "A list of up to 20 subscription items, each with an attached price.",
                    "items": {
                      "properties": {
                        "billing_thresholds": {
                          "anyOf": [
                            {
                              "properties": {
                                "usage_gte": {
                                  "type": "integer"
                                }
                              },
                              "required": ["usage_gte"],
                              "title": "item_billing_thresholds_param",
                              "type": "object"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        },
                        "clear_usage": {
                          "type": "boolean"
                        },
                        "deleted": {
                          "type": "boolean"
                        },
                        "id": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "metadata": {
                          "anyOf": [
                            {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "type": "object"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        },
                        "price": {
                          "maxLength": 5000,
                          "type": "string"
                        },
                        "price_data": {
                          "properties": {
                            "currency": {
                              "type": "string"
                            },
                            "product": {
                              "maxLength": 5000,
                              "type": "string"
                            },
                            "recurring": {
                              "properties": {
                                "interval": {
                                  "enum": ["day", "month", "week", "year"],
                                  "type": "string"
                                },
                                "interval_count": {
                                  "type": "integer"
                                }
                              },
                              "required": ["interval"],
                              "title": "recurring_adhoc",
                              "type": "object"
                            },
                            "unit_amount": {
                              "type": "integer"
                            },
                            "unit_amount_decimal": {
                              "format": "decimal",
                              "type": "string"
                            }
                          },
                          "required": ["currency", "product", "recurring"],
                          "title": "recurring_price_data",
                          "type": "object"
                        },
                        "quantity": {
                          "type": "integer"
                        },
                        "tax_rates": {
                          "anyOf": [
                            {
                              "items": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "type": "array"
                            },
                            {
                              "enum": [""],
                              "type": "string"
                            }
                          ]
                        }
                      },
                      "title": "subscription_item_update_params",
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "off_session": {
                    "description": "Indicates if a customer is on or off-session while an invoice payment is attempted.",
                    "type": "boolean"
                  },
                  "pause_collection": {
                    "anyOf": [
                      {
                        "properties": {
                          "behavior": {
                            "enum": ["keep_as_draft", "mark_uncollectible", "void"],
                            "type": "string"
                          },
                          "resumes_at": {
                            "format": "unix-time",
                            "type": "integer"
                          }
                        },
                        "required": ["behavior"],
                        "title": "pause_collection_param",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "If specified, payment collection for this subscription will be paused."
                  },
                  "payment_behavior": {
                    "description": "Use `allow_incomplete` to transition the subscription to `status=past_due` if a payment is required but cannot be paid. This allows you to manage scenarios where additional user actions are needed to pay a subscription's invoice. For example, SCA regulation may require 3DS authentication to complete payment. See the [SCA Migration Guide](https://stripe.com/docs/billing/migration/strong-customer-authentication) for Billing to learn more. This is the default behavior.\n\nUse `pending_if_incomplete` to update the subscription using [pending updates](https://stripe.com/docs/billing/subscriptions/pending-updates). When you use `pending_if_incomplete` you can only pass the parameters [supported by pending updates](https://stripe.com/docs/billing/pending-updates-reference#supported-attributes).\n\nUse `error_if_incomplete` if you want Stripe to return an HTTP 402 status code if a subscription's invoice cannot be paid. For example, if a payment method requires 3DS authentication due to SCA regulation and further user action is needed, this parameter does not update the subscription and returns an error instead. This was the default behavior for API versions prior to 2019-03-14. See the [changelog](https://stripe.com/docs/upgrades#2019-03-14) to learn more.",
                    "enum": ["allow_incomplete", "error_if_incomplete", "pending_if_incomplete"],
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "pending_invoice_item_interval": {
                    "anyOf": [
                      {
                        "properties": {
                          "interval": {
                            "enum": ["day", "month", "week", "year"],
                            "type": "string"
                          },
                          "interval_count": {
                            "type": "integer"
                          }
                        },
                        "required": ["interval"],
                        "title": "pending_invoice_item_interval_params",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https://stripe.com/docs/api#create_invoice) for the given subscription at the specified interval."
                  },
                  "promotion_code": {
                    "description": "The promotion code to apply to this subscription. A promotion code applied to a subscription will only affect invoices created for that particular subscription.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "proration_behavior": {
                    "description": "Determines how to handle [prorations](https://stripe.com/docs/subscriptions/billing-cycle#prorations) when the billing cycle changes (e.g., when switching plans, resetting `billing_cycle_anchor=now`, or starting a trial), or if an item's `quantity` changes. Valid values are `create_prorations`, `none`, or `always_invoice`.\n\nPassing `create_prorations` will cause proration invoice items to be created when applicable. These proration items will only be invoiced immediately under [certain conditions](https://stripe.com/docs/subscriptions/upgrading-downgrading#immediate-payment). In order to always invoice immediately for prorations, pass `always_invoice`.\n\nProrations can be disabled by passing `none`.",
                    "enum": ["always_invoice", "create_prorations", "none"],
                    "type": "string"
                  },
                  "proration_date": {
                    "description": "If set, the proration will be calculated as though the subscription was updated at the given time. This can be used to apply exactly the same proration that was previewed with [upcoming invoice](https://stripe.com/docs/api#retrieve_customer_invoice) endpoint. It can also be used to implement custom proration logic, such as prorating by day instead of by second, by providing the time that you wish to use for proration calculations.",
                    "format": "unix-time",
                    "type": "integer"
                  },
                  "transfer_data": {
                    "anyOf": [
                      {
                        "properties": {
                          "amount_percent": {
                            "type": "number"
                          },
                          "destination": {
                            "type": "string"
                          }
                        },
                        "required": ["destination"],
                        "title": "transfer_data_specs",
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "type": "string"
                      }
                    ],
                    "description": "If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges. This will be unset if you POST an empty value."
                  },
                  "trial_end": {
                    "anyOf": [
                      {
                        "enum": ["now"],
                        "maxLength": 5000,
                        "type": "string"
                      },
                      {
                        "format": "unix-time",
                        "type": "integer"
                      }
                    ],
                    "description": "Unix timestamp representing the end of the trial period the customer will get before being charged for the first time. This will always overwrite any trials that might apply via a subscribed plan. If set, trial_end will override the default trial period of the plan the customer is being subscribed to. The special value `now` can be provided to end the customer's trial immediately. Can be at most two years from `billing_cycle_anchor`."
                  },
                  "trial_from_plan": {
                    "description": "Indicates if a plan's `trial_period_days` should be applied to the subscription. Setting `trial_end` per subscription is preferred, and this defaults to `false`. Setting this flag to `true` together with `trial_end` is not allowed.",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/subscriptions/{subscription_exposed_id}/discount": {
      "delete": {
        "description": "<p>Removes the currently applied discount on a subscription.</p>",
        "operationId": "DeleteSubscriptionsSubscriptionExposedIdDiscount",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_exposed_id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_discount"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/tax_rates": {
      "get": {
        "description": "<p>Returns a list of your tax rates. Tax rates are returned sorted by creation date, with the most recently created tax rates appearing first.</p>",
        "operationId": "GetTaxRates",
        "parameters": [
          {
            "description": "Optional flag to filter by tax rates that are either active or inactive (archived).",
            "in": "query",
            "name": "active",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Optional range for filtering created date.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "Optional flag to filter by tax rates that are inclusive (or those that are not inclusive).",
            "in": "query",
            "name": "inclusive",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/tax_rate"
                      },
                      "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/tax_rates",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new tax rate.</p>",
        "operationId": "PostTaxRates",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "active": {
                    "description": "Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates 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,
                    "type": "string"
                  },
                  "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,
                    "type": "string"
                  },
                  "display_name": {
                    "description": "The display name of the tax rate, which will be shown to users.",
                    "maxLength": 50,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "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": 50,
                    "type": "string"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "percentage": {
                    "description": "This represents the tax rate percent out of 100.",
                    "type": "number"
                  },
                  "state": {
                    "description": "[ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, \"NY\" for New York, United States.",
                    "maxLength": 2,
                    "type": "string"
                  }
                },
                "required": ["display_name", "inclusive", "percentage"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tax_rate"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/tax_rates/{tax_rate}": {
      "get": {
        "description": "<p>Retrieves a tax rate with the given ID</p>",
        "operationId": "GetTaxRatesTaxRate",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "tax_rate",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tax_rate"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates an existing tax rate.</p>",
        "operationId": "PostTaxRatesTaxRate",
        "parameters": [
          {
            "in": "path",
            "name": "tax_rate",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "active": {
                    "description": "Flag determining whether the tax rate is active or inactive (archived). Inactive tax rates 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,
                    "type": "string"
                  },
                  "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,
                    "type": "string"
                  },
                  "display_name": {
                    "description": "The display name of the tax rate, which will be shown to users.",
                    "maxLength": 50,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "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": 50,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "state": {
                    "description": "[ISO 3166-2 subdivision code](https://en.wikipedia.org/wiki/ISO_3166-2:US), without country prefix. For example, \"NY\" for New York, United States.",
                    "maxLength": 2,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/tax_rate"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/terminal/connection_tokens": {
      "post": {
        "description": "<p>To connect to a reader the Stripe Terminal SDK needs to retrieve a short-lived connection token from Stripe, proxied through your server. On your backend, add an endpoint that creates and returns a connection token.</p>",
        "operationId": "PostTerminalConnectionTokens",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "location": {
                    "description": "The id of the location that this connection token is scoped to. If specified the connection token will only be usable with readers assigned to that location, otherwise the connection token will be usable with all readers.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/terminal.connection_token"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/terminal/locations": {
      "get": {
        "description": "<p>Returns a list of <code>Location</code> objects.</p>",
        "operationId": "GetTerminalLocations",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/terminal.location"
                      },
                      "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/terminal/locations",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "TerminalLocationLocationList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new <code>Location</code> object.</p>",
        "operationId": "PostTerminalLocations",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "address": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "address": {
                    "description": "The full address of the location.",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "required": ["country"],
                    "title": "create_location_address_param",
                    "type": "object"
                  },
                  "display_name": {
                    "description": "A name for the location.",
                    "maxLength": 1000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "required": ["address", "display_name"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/terminal.location"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/terminal/locations/{location}": {
      "delete": {
        "description": "<p>Deletes a <code>Location</code> object.</p>",
        "operationId": "DeleteTerminalLocationsLocation",
        "parameters": [
          {
            "in": "path",
            "name": "location",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_terminal.location"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves a <code>Location</code> object.</p>",
        "operationId": "GetTerminalLocationsLocation",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "location",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/terminal.location"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates a <code>Location</code> object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>",
        "operationId": "PostTerminalLocationsLocation",
        "parameters": [
          {
            "in": "path",
            "name": "location",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "address": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "address": {
                    "description": "The full address of the location.",
                    "properties": {
                      "city": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line1": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "line2": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "postal_code": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "state": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "optional_fields_address",
                    "type": "object"
                  },
                  "display_name": {
                    "description": "A name for the location.",
                    "maxLength": 1000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/terminal.location"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/terminal/readers": {
      "get": {
        "description": "<p>Returns a list of <code>Reader</code> objects.</p>",
        "operationId": "GetTerminalReaders",
        "parameters": [
          {
            "description": "Filters readers by device type",
            "in": "query",
            "name": "device_type",
            "required": false,
            "schema": {
              "enum": ["bbpos_chipper2x", "verifone_P400"],
              "type": "string",
              "x-stripeBypassValidation": true
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "A location ID to filter the response list to only readers at the specific location",
            "in": "query",
            "name": "location",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "A status filter to filter readers to only offline or online readers",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "enum": ["offline", "online"],
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "A list of readers",
                      "items": {
                        "$ref": "#/components/schemas/terminal.reader"
                      },
                      "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": "TerminalReaderRetrieveReader",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Creates a new <code>Reader</code> object.</p>",
        "operationId": "PostTerminalReaders",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "label": {
                    "description": "Custom label given to the reader for easier identification. If no label is specified, the registration code will be used.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "location": {
                    "description": "The location to assign the reader to. If no location is specified, the reader will be assigned to the account's default location.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "registration_code": {
                    "description": "A code generated by the reader used for registering to an account.",
                    "maxLength": 5000,
                    "type": "string"
                  }
                },
                "required": ["registration_code"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/terminal.reader"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/terminal/readers/{reader}": {
      "delete": {
        "description": "<p>Deletes a <code>Reader</code> object.</p>",
        "operationId": "DeleteTerminalReadersReader",
        "parameters": [
          {
            "in": "path",
            "name": "reader",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_terminal.reader"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves a <code>Reader</code> object.</p>",
        "operationId": "GetTerminalReadersReader",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "reader",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/terminal.reader"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates a <code>Reader</code> object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>",
        "operationId": "PostTerminalReadersReader",
        "parameters": [
          {
            "in": "path",
            "name": "reader",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "label": {
                    "description": "The new label of the reader.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/terminal.reader"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/tokens": {
      "post": {
        "description": "<p>Creates a single-use token that represents a bank account’s details.\nThis token can be used with any API method in place of a bank account dictionary. This token can be used only once, by attaching it to a <a href=\"#accounts\">Custom account</a>.</p>",
        "operationId": "PostTokens",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "account": {
                  "explode": true,
                  "style": "deepObject"
                },
                "bank_account": {
                  "explode": true,
                  "style": "deepObject"
                },
                "card": {
                  "explode": true,
                  "style": "deepObject"
                },
                "cvc_update": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "person": {
                  "explode": true,
                  "style": "deepObject"
                },
                "pii": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "account": {
                    "description": "Information for the account this token will represent.",
                    "properties": {
                      "business_type": {
                        "enum": ["company", "government_entity", "individual", "non_profit"],
                        "type": "string",
                        "x-stripeBypassValidation": true
                      },
                      "company": {
                        "properties": {
                          "address": {
                            "properties": {
                              "city": {
                                "maxLength": 100,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 200,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 200,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "address_specs",
                            "type": "object"
                          },
                          "address_kana": {
                            "properties": {
                              "city": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "town": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "japan_address_kana_specs",
                            "type": "object"
                          },
                          "address_kanji": {
                            "properties": {
                              "city": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "town": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "japan_address_kanji_specs",
                            "type": "object"
                          },
                          "directors_provided": {
                            "type": "boolean"
                          },
                          "executives_provided": {
                            "type": "boolean"
                          },
                          "name": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "name_kana": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "name_kanji": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "owners_provided": {
                            "type": "boolean"
                          },
                          "phone": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "registration_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "structure": {
                            "enum": [
                              "",
                              "government_instrumentality",
                              "governmental_unit",
                              "incorporated_non_profit",
                              "limited_liability_partnership",
                              "multi_member_llc",
                              "private_company",
                              "private_corporation",
                              "private_partnership",
                              "public_company",
                              "public_corporation",
                              "public_partnership",
                              "sole_proprietorship",
                              "tax_exempt_government_instrumentality",
                              "unincorporated_association",
                              "unincorporated_non_profit"
                            ],
                            "type": "string",
                            "x-stripeBypassValidation": true
                          },
                          "tax_id": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "tax_id_registrar": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "vat_id": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "verification": {
                            "properties": {
                              "document": {
                                "properties": {
                                  "back": {
                                    "maxLength": 500,
                                    "type": "string"
                                  },
                                  "front": {
                                    "maxLength": 500,
                                    "type": "string"
                                  }
                                },
                                "title": "verification_document_specs",
                                "type": "object"
                              }
                            },
                            "title": "verification_specs",
                            "type": "object"
                          }
                        },
                        "title": "company_specs",
                        "type": "object"
                      },
                      "individual": {
                        "properties": {
                          "address": {
                            "properties": {
                              "city": {
                                "maxLength": 100,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 200,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 200,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "address_specs",
                            "type": "object"
                          },
                          "address_kana": {
                            "properties": {
                              "city": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "town": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "japan_address_kana_specs",
                            "type": "object"
                          },
                          "address_kanji": {
                            "properties": {
                              "city": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "country": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line1": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "line2": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "postal_code": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "state": {
                                "maxLength": 5000,
                                "type": "string"
                              },
                              "town": {
                                "maxLength": 5000,
                                "type": "string"
                              }
                            },
                            "title": "japan_address_kanji_specs",
                            "type": "object"
                          },
                          "dob": {
                            "anyOf": [
                              {
                                "properties": {
                                  "day": {
                                    "type": "integer"
                                  },
                                  "month": {
                                    "type": "integer"
                                  },
                                  "year": {
                                    "type": "integer"
                                  }
                                },
                                "required": ["day", "month", "year"],
                                "title": "date_of_birth_specs",
                                "type": "object"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          },
                          "email": {
                            "type": "string"
                          },
                          "first_name": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "first_name_kana": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "first_name_kanji": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "gender": {
                            "type": "string"
                          },
                          "id_number": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "last_name": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "last_name_kana": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "last_name_kanji": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "maiden_name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "metadata": {
                            "anyOf": [
                              {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": "object"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          },
                          "phone": {
                            "type": "string"
                          },
                          "political_exposure": {
                            "enum": ["existing", "none"],
                            "type": "string"
                          },
                          "ssn_last_4": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "verification": {
                            "properties": {
                              "additional_document": {
                                "properties": {
                                  "back": {
                                    "maxLength": 500,
                                    "type": "string"
                                  },
                                  "front": {
                                    "maxLength": 500,
                                    "type": "string"
                                  }
                                },
                                "title": "person_verification_document_specs",
                                "type": "object"
                              },
                              "document": {
                                "properties": {
                                  "back": {
                                    "maxLength": 500,
                                    "type": "string"
                                  },
                                  "front": {
                                    "maxLength": 500,
                                    "type": "string"
                                  }
                                },
                                "title": "person_verification_document_specs",
                                "type": "object"
                              }
                            },
                            "title": "person_verification_specs",
                            "type": "object"
                          }
                        },
                        "title": "individual_specs",
                        "type": "object"
                      },
                      "tos_shown_and_accepted": {
                        "type": "boolean"
                      }
                    },
                    "title": "connect_js_account_token_specs",
                    "type": "object"
                  },
                  "bank_account": {
                    "description": "The bank account this token will represent.",
                    "properties": {
                      "account_holder_name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "account_holder_type": {
                        "enum": ["company", "individual"],
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "account_number": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "country": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "currency": {
                        "type": "string"
                      },
                      "routing_number": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "required": ["account_number", "country"],
                    "title": "token_create_bank_account",
                    "type": "object",
                    "x-stripeBypassValidation": true
                  },
                  "card": {
                    "anyOf": [
                      {
                        "properties": {
                          "address_city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "address_zip": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "currency": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "cvc": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "exp_month": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "exp_year": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "name": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "number": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "required": ["exp_month", "exp_year", "number"],
                        "title": "credit_card_specs",
                        "type": "object"
                      },
                      {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    ],
                    "x-stripeBypassValidation": true
                  },
                  "customer": {
                    "description": "The customer (owned by the application's account) for which to create a token. This can be used only with an [OAuth access token](https://stripe.com/docs/connect/standard-accounts) or [Stripe-Account header](https://stripe.com/docs/connect/authentication). For more details, see [Cloning Saved Payment Methods](https://stripe.com/docs/connect/cloning-saved-payment-methods).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "cvc_update": {
                    "description": "The updated CVC value this token will represent.",
                    "properties": {
                      "cvc": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "required": ["cvc"],
                    "title": "cvc_params",
                    "type": "object"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "person": {
                    "description": "Information for the person this token will represent.",
                    "properties": {
                      "address": {
                        "properties": {
                          "city": {
                            "maxLength": 100,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 200,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "address_specs",
                        "type": "object"
                      },
                      "address_kana": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "town": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "japan_address_kana_specs",
                        "type": "object"
                      },
                      "address_kanji": {
                        "properties": {
                          "city": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "country": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line1": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "line2": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "postal_code": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "state": {
                            "maxLength": 5000,
                            "type": "string"
                          },
                          "town": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "japan_address_kanji_specs",
                        "type": "object"
                      },
                      "dob": {
                        "anyOf": [
                          {
                            "properties": {
                              "day": {
                                "type": "integer"
                              },
                              "month": {
                                "type": "integer"
                              },
                              "year": {
                                "type": "integer"
                              }
                            },
                            "required": ["day", "month", "year"],
                            "title": "date_of_birth_specs",
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "email": {
                        "type": "string"
                      },
                      "first_name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "first_name_kana": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "first_name_kanji": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "gender": {
                        "type": "string"
                      },
                      "id_number": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "last_name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "last_name_kana": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "last_name_kanji": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "maiden_name": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "metadata": {
                        "anyOf": [
                          {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          {
                            "enum": [""],
                            "type": "string"
                          }
                        ]
                      },
                      "nationality": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "phone": {
                        "type": "string"
                      },
                      "political_exposure": {
                        "maxLength": 5000,
                        "type": "string"
                      },
                      "relationship": {
                        "properties": {
                          "director": {
                            "type": "boolean"
                          },
                          "executive": {
                            "type": "boolean"
                          },
                          "owner": {
                            "type": "boolean"
                          },
                          "percent_ownership": {
                            "anyOf": [
                              {
                                "type": "number"
                              },
                              {
                                "enum": [""],
                                "type": "string"
                              }
                            ]
                          },
                          "representative": {
                            "type": "boolean"
                          },
                          "title": {
                            "maxLength": 5000,
                            "type": "string"
                          }
                        },
                        "title": "relationship_specs",
                        "type": "object"
                      },
                      "ssn_last_4": {
                        "type": "string"
                      },
                      "verification": {
                        "properties": {
                          "additional_document": {
                            "properties": {
                              "back": {
                                "maxLength": 500,
                                "type": "string"
                              },
                              "front": {
                                "maxLength": 500,
                                "type": "string"
                              }
                            },
                            "title": "person_verification_document_specs",
                            "type": "object"
                          },
                          "document": {
                            "properties": {
                              "back": {
                                "maxLength": 500,
                                "type": "string"
                              },
                              "front": {
                                "maxLength": 500,
                                "type": "string"
                              }
                            },
                            "title": "person_verification_document_specs",
                            "type": "object"
                          }
                        },
                        "title": "person_verification_specs",
                        "type": "object"
                      }
                    },
                    "title": "person_token_specs",
                    "type": "object"
                  },
                  "pii": {
                    "description": "The PII this token will represent.",
                    "properties": {
                      "id_number": {
                        "maxLength": 5000,
                        "type": "string"
                      }
                    },
                    "title": "pii_token_specs",
                    "type": "object"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/token"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/tokens/{token}": {
      "get": {
        "description": "<p>Retrieves the token with the given ID.</p>",
        "operationId": "GetTokensToken",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "token",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/token"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/topups": {
      "get": {
        "description": "<p>Returns a list of top-ups.</p>",
        "operationId": "GetTopups",
        "parameters": [
          {
            "description": "A positive integer representing how much to transfer.",
            "explode": true,
            "in": "query",
            "name": "amount",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "A filter on the list, based on the object `created` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with a number of different query options.",
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return top-ups that have the given status. One of `canceled`, `failed`, `pending` or `succeeded`.",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "enum": ["canceled", "failed", "pending", "succeeded"],
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/topup"
                      },
                      "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/topups",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "TopupList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Top up the balance of an account</p>",
        "operationId": "PostTopups",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "A positive integer representing how much to transfer.",
                    "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).",
                    "type": "string"
                  },
                  "description": {
                    "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "source": {
                    "description": "The ID of a source to transfer funds from. For most users, this should be left unspecified which will use the bank account that was set up in the dashboard for the specified currency. In test mode, this can be a test bank token (see [Testing Top-ups](https://stripe.com/docs/connect/testing#testing-top-ups)).",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "statement_descriptor": {
                    "description": "Extra information about a top-up for the source's bank statement. Limited to 15 ASCII characters.",
                    "maxLength": 15,
                    "type": "string"
                  },
                  "transfer_group": {
                    "description": "A string that identifies this top-up as part of a group.",
                    "type": "string"
                  }
                },
                "required": ["amount", "currency"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/topup"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/topups/{topup}": {
      "get": {
        "description": "<p>Retrieves the details of a top-up that has previously been created. Supply the unique top-up ID that was returned from your previous request, and Stripe will return the corresponding top-up information.</p>",
        "operationId": "GetTopupsTopup",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "topup",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/topup"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the metadata of a top-up. Other top-up details are not editable by design.</p>",
        "operationId": "PostTopupsTopup",
        "parameters": [
          {
            "in": "path",
            "name": "topup",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "description": {
                    "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/topup"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/topups/{topup}/cancel": {
      "post": {
        "description": "<p>Cancels a top-up. Only pending top-ups can be canceled.</p>",
        "operationId": "PostTopupsTopupCancel",
        "parameters": [
          {
            "in": "path",
            "name": "topup",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/topup"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/transfers": {
      "get": {
        "description": "<p>Returns a list of existing transfers sent to connected accounts. The transfers are returned in sorted order, with the most recently created transfers appearing first.</p>",
        "operationId": "GetTransfers",
        "parameters": [
          {
            "explode": true,
            "in": "query",
            "name": "created",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "properties": {
                    "gt": {
                      "type": "integer"
                    },
                    "gte": {
                      "type": "integer"
                    },
                    "lt": {
                      "type": "integer"
                    },
                    "lte": {
                      "type": "integer"
                    }
                  },
                  "title": "range_query_specs",
                  "type": "object"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "style": "deepObject"
          },
          {
            "description": "Only return transfers for the destination specified by this account ID.",
            "in": "query",
            "name": "destination",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Only return transfers with the specified transfer group.",
            "in": "query",
            "name": "transfer_group",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/transfer"
                      },
                      "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/transfers",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "title": "TransferList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>To send funds from your Stripe account to a connected account, you create a new transfer object. Your <a href=\"#balance\">Stripe balance</a> must be able to cover the transfer amount, or you’ll receive an “Insufficient Funds” error.</p>",
        "operationId": "PostTransfers",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "A positive integer in %s representing how much to transfer.",
                    "type": "integer"
                  },
                  "currency": {
                    "description": "3-letter [ISO code for currency](https://stripe.com/docs/payouts).",
                    "type": "string"
                  },
                  "description": {
                    "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "destination": {
                    "description": "The ID of a connected Stripe account. <a href=\"/docs/connect/charges-transfers\">See the Connect documentation</a> for details.",
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "additionalProperties": {
                      "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.",
                    "type": "object"
                  },
                  "source_transaction": {
                    "description": "You can use this parameter to transfer funds from a charge before they are added to your available balance. A pending balance will transfer immediately but the funds will not become available until the original charge becomes available. [See the Connect documentation](https://stripe.com/docs/connect/charges-transfers#transfer-availability) for details.",
                    "type": "string"
                  },
                  "source_type": {
                    "description": "The source balance to use for this transfer. One of `bank_account`, `card`, or `fpx`. For most users, this will default to `card`.",
                    "enum": ["bank_account", "card", "fpx"],
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "transfer_group": {
                    "description": "A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/charges-transfers#transfer-options) for details.",
                    "type": "string"
                  }
                },
                "required": ["currency", "destination"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/transfers/{id}/reversals": {
      "get": {
        "description": "<p>You can see a list of the reversals belonging to a specific transfer. Note that the 10 most recent reversals are always available by default on the transfer object. If you need more than those 10, you can use this API method and the <code>limit</code> and <code>starting_after</code> parameters to page through additional reversals.</p>",
        "operationId": "GetTransfersIdReversals",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "description": "Details about each object.",
                      "items": {
                        "$ref": "#/components/schemas/transfer_reversal"
                      },
                      "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": "TransferReversalList",
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>When you create a new reversal, you must specify a transfer to create it on.</p>\n\n<p>When reversing transfers, you can optionally reverse part of the transfer. You can do so as many times as you wish until the entire transfer has been reversed.</p>\n\n<p>Once entirely reversed, a transfer can’t be reversed again. This method will return an error when called on an already-reversed transfer, or when trying to reverse more money than is left on a transfer.</p>",
        "operationId": "PostTransfersIdReversals",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "description": "A positive integer in %s representing how much of this transfer to reverse. Can only reverse up to the unreversed amount remaining of the transfer. Partial transfer reversals are only allowed for transfers to Stripe Accounts. Defaults to the entire transfer amount.",
                    "type": "integer"
                  },
                  "description": {
                    "description": "An arbitrary string which you can attach to a reversal object. It is displayed alongside the reversal in the Dashboard. This will be unset if you POST an empty value.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "refund_application_fee": {
                    "description": "Boolean indicating whether the application fee should be refunded when reversing this transfer. If a full transfer reversal is given, the full application fee will be refunded. Otherwise, the application fee will be refunded with an amount proportional to the amount of the transfer reversed.",
                    "type": "boolean"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer_reversal"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/transfers/{transfer}": {
      "get": {
        "description": "<p>Retrieves the details of an existing transfer. Supply the unique transfer ID from either a transfer creation request or the transfer list, and Stripe will return the corresponding transfer information.</p>",
        "operationId": "GetTransfersTransfer",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "transfer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified transfer by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>\n\n<p>This request accepts only metadata as an argument.</p>",
        "operationId": "PostTransfersTransfer",
        "parameters": [
          {
            "in": "path",
            "name": "transfer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "description": {
                    "description": "An arbitrary string attached to the object. Often useful for displaying to users.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/transfers/{transfer}/reversals/{id}": {
      "get": {
        "description": "<p>By default, you can see the 10 most recent reversals stored directly on the transfer object, but you can also retrieve details about a specific reversal stored on the transfer.</p>",
        "operationId": "GetTransfersTransferReversalsId",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "transfer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer_reversal"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the specified reversal by setting the values of the parameters passed. Any parameters not provided will be left unchanged.</p>\n\n<p>This request only accepts metadata and description as arguments.</p>",
        "operationId": "PostTransfersTransferReversalsId",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "transfer",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/transfer_reversal"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/webhook_endpoints": {
      "get": {
        "description": "<p>Returns a list of your webhook endpoints.</p>",
        "operationId": "GetWebhookEndpoints",
        "parameters": [
          {
            "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.",
            "in": "query",
            "name": "ending_before",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "description": "A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "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.",
            "in": "query",
            "name": "starting_after",
            "required": false,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "description": "",
                  "properties": {
                    "data": {
                      "items": {
                        "$ref": "#/components/schemas/webhook_endpoint"
                      },
                      "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/webhook_endpoints",
                      "type": "string"
                    }
                  },
                  "required": ["data", "has_more", "object", "url"],
                  "type": "object",
                  "x-expandableFields": ["data"]
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>A webhook endpoint must have a <code>url</code> and a list of <code>enabled_events</code>. You may optionally specify the Boolean <code>connect</code> parameter. If set to true, then a Connect webhook endpoint that notifies the specified <code>url</code> about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified <code>url</code> only about events from your account is created. You can also create webhook endpoints in the <a href=\"https://dashboard.stripe.com/account/webhooks\">webhooks settings</a> section of the Dashboard.</p>",
        "operationId": "PostWebhookEndpoints",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "enabled_events": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "api_version": {
                    "description": "Events sent to this endpoint will be generated with this Stripe Version instead of your account's default Stripe Version.",
                    "enum": [
                      "2011-01-01",
                      "2011-06-21",
                      "2011-06-28",
                      "2011-08-01",
                      "2011-09-15",
                      "2011-11-17",
                      "2012-02-23",
                      "2012-03-25",
                      "2012-06-18",
                      "2012-06-28",
                      "2012-07-09",
                      "2012-09-24",
                      "2012-10-26",
                      "2012-11-07",
                      "2013-02-11",
                      "2013-02-13",
                      "2013-07-05",
                      "2013-08-12",
                      "2013-08-13",
                      "2013-10-29",
                      "2013-12-03",
                      "2014-01-31",
                      "2014-03-13",
                      "2014-03-28",
                      "2014-05-19",
                      "2014-06-13",
                      "2014-06-17",
                      "2014-07-22",
                      "2014-07-26",
                      "2014-08-04",
                      "2014-08-20",
                      "2014-09-08",
                      "2014-10-07",
                      "2014-11-05",
                      "2014-11-20",
                      "2014-12-08",
                      "2014-12-17",
                      "2014-12-22",
                      "2015-01-11",
                      "2015-01-26",
                      "2015-02-10",
                      "2015-02-16",
                      "2015-02-18",
                      "2015-03-24",
                      "2015-04-07",
                      "2015-06-15",
                      "2015-07-07",
                      "2015-07-13",
                      "2015-07-28",
                      "2015-08-07",
                      "2015-08-19",
                      "2015-09-03",
                      "2015-09-08",
                      "2015-09-23",
                      "2015-10-01",
                      "2015-10-12",
                      "2015-10-16",
                      "2016-02-03",
                      "2016-02-19",
                      "2016-02-22",
                      "2016-02-23",
                      "2016-02-29",
                      "2016-03-07",
                      "2016-06-15",
                      "2016-07-06",
                      "2016-10-19",
                      "2017-01-27",
                      "2017-02-14",
                      "2017-04-06",
                      "2017-05-25",
                      "2017-06-05",
                      "2017-08-15",
                      "2017-12-14",
                      "2018-01-23",
                      "2018-02-05",
                      "2018-02-06",
                      "2018-02-28",
                      "2018-05-21",
                      "2018-07-27",
                      "2018-08-23",
                      "2018-09-06",
                      "2018-09-24",
                      "2018-10-31",
                      "2018-11-08",
                      "2019-02-11",
                      "2019-02-19",
                      "2019-03-14",
                      "2019-05-16",
                      "2019-08-14",
                      "2019-09-09",
                      "2019-10-08",
                      "2019-10-17",
                      "2019-11-05",
                      "2019-12-03",
                      "2020-03-02",
                      "2020-08-27"
                    ],
                    "maxLength": 5000,
                    "type": "string",
                    "x-stripeBypassValidation": true
                  },
                  "connect": {
                    "description": "Whether this endpoint should receive events from connected accounts (`true`), or from your account (`false`). Defaults to `false`.",
                    "type": "boolean"
                  },
                  "description": {
                    "description": "An optional description of what the webhook is used for.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "enabled_events": {
                    "description": "The list of events to enable for this endpoint. You may specify `['*']` to enable all events, except those that require explicit selection.",
                    "items": {
                      "enum": [
                        "*",
                        "account.application.authorized",
                        "account.application.deauthorized",
                        "account.external_account.created",
                        "account.external_account.deleted",
                        "account.external_account.updated",
                        "account.updated",
                        "application_fee.created",
                        "application_fee.refund.updated",
                        "application_fee.refunded",
                        "balance.available",
                        "billing_portal.configuration.created",
                        "billing_portal.configuration.updated",
                        "capability.updated",
                        "charge.captured",
                        "charge.dispute.closed",
                        "charge.dispute.created",
                        "charge.dispute.funds_reinstated",
                        "charge.dispute.funds_withdrawn",
                        "charge.dispute.updated",
                        "charge.expired",
                        "charge.failed",
                        "charge.pending",
                        "charge.refund.updated",
                        "charge.refunded",
                        "charge.succeeded",
                        "charge.updated",
                        "checkout.session.async_payment_failed",
                        "checkout.session.async_payment_succeeded",
                        "checkout.session.completed",
                        "coupon.created",
                        "coupon.deleted",
                        "coupon.updated",
                        "credit_note.created",
                        "credit_note.updated",
                        "credit_note.voided",
                        "customer.created",
                        "customer.deleted",
                        "customer.discount.created",
                        "customer.discount.deleted",
                        "customer.discount.updated",
                        "customer.source.created",
                        "customer.source.deleted",
                        "customer.source.expiring",
                        "customer.source.updated",
                        "customer.subscription.created",
                        "customer.subscription.deleted",
                        "customer.subscription.pending_update_applied",
                        "customer.subscription.pending_update_expired",
                        "customer.subscription.trial_will_end",
                        "customer.subscription.updated",
                        "customer.tax_id.created",
                        "customer.tax_id.deleted",
                        "customer.tax_id.updated",
                        "customer.updated",
                        "file.created",
                        "invoice.created",
                        "invoice.deleted",
                        "invoice.finalization_failed",
                        "invoice.finalized",
                        "invoice.marked_uncollectible",
                        "invoice.paid",
                        "invoice.payment_action_required",
                        "invoice.payment_failed",
                        "invoice.payment_succeeded",
                        "invoice.sent",
                        "invoice.upcoming",
                        "invoice.updated",
                        "invoice.voided",
                        "invoiceitem.created",
                        "invoiceitem.deleted",
                        "invoiceitem.updated",
                        "issuing_authorization.created",
                        "issuing_authorization.request",
                        "issuing_authorization.updated",
                        "issuing_card.created",
                        "issuing_card.updated",
                        "issuing_cardholder.created",
                        "issuing_cardholder.updated",
                        "issuing_dispute.closed",
                        "issuing_dispute.created",
                        "issuing_dispute.funds_reinstated",
                        "issuing_dispute.submitted",
                        "issuing_dispute.updated",
                        "issuing_transaction.created",
                        "issuing_transaction.updated",
                        "mandate.updated",
                        "order.created",
                        "order.payment_failed",
                        "order.payment_succeeded",
                        "order.updated",
                        "order_return.created",
                        "payment_intent.amount_capturable_updated",
                        "payment_intent.canceled",
                        "payment_intent.created",
                        "payment_intent.payment_failed",
                        "payment_intent.processing",
                        "payment_intent.requires_action",
                        "payment_intent.succeeded",
                        "payment_method.attached",
                        "payment_method.automatically_updated",
                        "payment_method.detached",
                        "payment_method.updated",
                        "payout.canceled",
                        "payout.created",
                        "payout.failed",
                        "payout.paid",
                        "payout.updated",
                        "person.created",
                        "person.deleted",
                        "person.updated",
                        "plan.created",
                        "plan.deleted",
                        "plan.updated",
                        "price.created",
                        "price.deleted",
                        "price.updated",
                        "product.created",
                        "product.deleted",
                        "product.updated",
                        "promotion_code.created",
                        "promotion_code.updated",
                        "radar.early_fraud_warning.created",
                        "radar.early_fraud_warning.updated",
                        "recipient.created",
                        "recipient.deleted",
                        "recipient.updated",
                        "reporting.report_run.failed",
                        "reporting.report_run.succeeded",
                        "reporting.report_type.updated",
                        "review.closed",
                        "review.opened",
                        "setup_intent.canceled",
                        "setup_intent.created",
                        "setup_intent.requires_action",
                        "setup_intent.setup_failed",
                        "setup_intent.succeeded",
                        "sigma.scheduled_query_run.created",
                        "sku.created",
                        "sku.deleted",
                        "sku.updated",
                        "source.canceled",
                        "source.chargeable",
                        "source.failed",
                        "source.mandate_notification",
                        "source.refund_attributes_required",
                        "source.transaction.created",
                        "source.transaction.updated",
                        "subscription_schedule.aborted",
                        "subscription_schedule.canceled",
                        "subscription_schedule.completed",
                        "subscription_schedule.created",
                        "subscription_schedule.expiring",
                        "subscription_schedule.released",
                        "subscription_schedule.updated",
                        "tax_rate.created",
                        "tax_rate.updated",
                        "topup.canceled",
                        "topup.created",
                        "topup.failed",
                        "topup.reversed",
                        "topup.succeeded",
                        "transfer.created",
                        "transfer.failed",
                        "transfer.paid",
                        "transfer.reversed",
                        "transfer.updated"
                      ],
                      "type": "string",
                      "x-stripeBypassValidation": true
                    },
                    "type": "array"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "url": {
                    "description": "The URL of the webhook endpoint.",
                    "type": "string"
                  }
                },
                "required": ["enabled_events", "url"],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/webhook_endpoint"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    },
    "/v1/webhook_endpoints/{webhook_endpoint}": {
      "delete": {
        "description": "<p>You can also delete webhook endpoints via the <a href=\"https://dashboard.stripe.com/account/webhooks\">webhook endpoint management</a> page of the Stripe dashboard.</p>",
        "operationId": "DeleteWebhookEndpointsWebhookEndpoint",
        "parameters": [
          {
            "in": "path",
            "name": "webhook_endpoint",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/deleted_webhook_endpoint"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "get": {
        "description": "<p>Retrieves the webhook endpoint with the given ID.</p>",
        "operationId": "GetWebhookEndpointsWebhookEndpoint",
        "parameters": [
          {
            "description": "Specifies which fields in the response should be expanded.",
            "explode": true,
            "in": "query",
            "name": "expand",
            "required": false,
            "schema": {
              "items": {
                "maxLength": 5000,
                "type": "string"
              },
              "type": "array"
            },
            "style": "deepObject"
          },
          {
            "in": "path",
            "name": "webhook_endpoint",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {},
              "schema": {
                "additionalProperties": false,
                "properties": {},
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/webhook_endpoint"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      },
      "post": {
        "description": "<p>Updates the webhook endpoint. You may edit the <code>url</code>, the list of <code>enabled_events</code>, and the status of your endpoint.</p>",
        "operationId": "PostWebhookEndpointsWebhookEndpoint",
        "parameters": [
          {
            "in": "path",
            "name": "webhook_endpoint",
            "required": true,
            "schema": {
              "maxLength": 5000,
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "encoding": {
                "enabled_events": {
                  "explode": true,
                  "style": "deepObject"
                },
                "expand": {
                  "explode": true,
                  "style": "deepObject"
                },
                "metadata": {
                  "explode": true,
                  "style": "deepObject"
                }
              },
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "description": {
                    "description": "An optional description of what the webhook is used for.",
                    "maxLength": 5000,
                    "type": "string"
                  },
                  "disabled": {
                    "description": "Disable the webhook endpoint if set to true.",
                    "type": "boolean"
                  },
                  "enabled_events": {
                    "description": "The list of events to enable for this endpoint. You may specify `['*']` to enable all events, except those that require explicit selection.",
                    "items": {
                      "enum": [
                        "*",
                        "account.application.authorized",
                        "account.application.deauthorized",
                        "account.external_account.created",
                        "account.external_account.deleted",
                        "account.external_account.updated",
                        "account.updated",
                        "application_fee.created",
                        "application_fee.refund.updated",
                        "application_fee.refunded",
                        "balance.available",
                        "billing_portal.configuration.created",
                        "billing_portal.configuration.updated",
                        "capability.updated",
                        "charge.captured",
                        "charge.dispute.closed",
                        "charge.dispute.created",
                        "charge.dispute.funds_reinstated",
                        "charge.dispute.funds_withdrawn",
                        "charge.dispute.updated",
                        "charge.expired",
                        "charge.failed",
                        "charge.pending",
                        "charge.refund.updated",
                        "charge.refunded",
                        "charge.succeeded",
                        "charge.updated",
                        "checkout.session.async_payment_failed",
                        "checkout.session.async_payment_succeeded",
                        "checkout.session.completed",
                        "coupon.created",
                        "coupon.deleted",
                        "coupon.updated",
                        "credit_note.created",
                        "credit_note.updated",
                        "credit_note.voided",
                        "customer.created",
                        "customer.deleted",
                        "customer.discount.created",
                        "customer.discount.deleted",
                        "customer.discount.updated",
                        "customer.source.created",
                        "customer.source.deleted",
                        "customer.source.expiring",
                        "customer.source.updated",
                        "customer.subscription.created",
                        "customer.subscription.deleted",
                        "customer.subscription.pending_update_applied",
                        "customer.subscription.pending_update_expired",
                        "customer.subscription.trial_will_end",
                        "customer.subscription.updated",
                        "customer.tax_id.created",
                        "customer.tax_id.deleted",
                        "customer.tax_id.updated",
                        "customer.updated",
                        "file.created",
                        "invoice.created",
                        "invoice.deleted",
                        "invoice.finalization_failed",
                        "invoice.finalized",
                        "invoice.marked_uncollectible",
                        "invoice.paid",
                        "invoice.payment_action_required",
                        "invoice.payment_failed",
                        "invoice.payment_succeeded",
                        "invoice.sent",
                        "invoice.upcoming",
                        "invoice.updated",
                        "invoice.voided",
                        "invoiceitem.created",
                        "invoiceitem.deleted",
                        "invoiceitem.updated",
                        "issuing_authorization.created",
                        "issuing_authorization.request",
                        "issuing_authorization.updated",
                        "issuing_card.created",
                        "issuing_card.updated",
                        "issuing_cardholder.created",
                        "issuing_cardholder.updated",
                        "issuing_dispute.closed",
                        "issuing_dispute.created",
                        "issuing_dispute.funds_reinstated",
                        "issuing_dispute.submitted",
                        "issuing_dispute.updated",
                        "issuing_transaction.created",
                        "issuing_transaction.updated",
                        "mandate.updated",
                        "order.created",
                        "order.payment_failed",
                        "order.payment_succeeded",
                        "order.updated",
                        "order_return.created",
                        "payment_intent.amount_capturable_updated",
                        "payment_intent.canceled",
                        "payment_intent.created",
                        "payment_intent.payment_failed",
                        "payment_intent.processing",
                        "payment_intent.requires_action",
                        "payment_intent.succeeded",
                        "payment_method.attached",
                        "payment_method.automatically_updated",
                        "payment_method.detached",
                        "payment_method.updated",
                        "payout.canceled",
                        "payout.created",
                        "payout.failed",
                        "payout.paid",
                        "payout.updated",
                        "person.created",
                        "person.deleted",
                        "person.updated",
                        "plan.created",
                        "plan.deleted",
                        "plan.updated",
                        "price.created",
                        "price.deleted",
                        "price.updated",
                        "product.created",
                        "product.deleted",
                        "product.updated",
                        "promotion_code.created",
                        "promotion_code.updated",
                        "radar.early_fraud_warning.created",
                        "radar.early_fraud_warning.updated",
                        "recipient.created",
                        "recipient.deleted",
                        "recipient.updated",
                        "reporting.report_run.failed",
                        "reporting.report_run.succeeded",
                        "reporting.report_type.updated",
                        "review.closed",
                        "review.opened",
                        "setup_intent.canceled",
                        "setup_intent.created",
                        "setup_intent.requires_action",
                        "setup_intent.setup_failed",
                        "setup_intent.succeeded",
                        "sigma.scheduled_query_run.created",
                        "sku.created",
                        "sku.deleted",
                        "sku.updated",
                        "source.canceled",
                        "source.chargeable",
                        "source.failed",
                        "source.mandate_notification",
                        "source.refund_attributes_required",
                        "source.transaction.created",
                        "source.transaction.updated",
                        "subscription_schedule.aborted",
                        "subscription_schedule.canceled",
                        "subscription_schedule.completed",
                        "subscription_schedule.created",
                        "subscription_schedule.expiring",
                        "subscription_schedule.released",
                        "subscription_schedule.updated",
                        "tax_rate.created",
                        "tax_rate.updated",
                        "topup.canceled",
                        "topup.created",
                        "topup.failed",
                        "topup.reversed",
                        "topup.succeeded",
                        "transfer.created",
                        "transfer.failed",
                        "transfer.paid",
                        "transfer.reversed",
                        "transfer.updated"
                      ],
                      "type": "string",
                      "x-stripeBypassValidation": true
                    },
                    "type": "array"
                  },
                  "expand": {
                    "description": "Specifies which fields in the response should be expanded.",
                    "items": {
                      "maxLength": 5000,
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "type": "object"
                      },
                      {
                        "enum": [""],
                        "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. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                  },
                  "url": {
                    "description": "The URL of the webhook endpoint.",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/webhook_endpoint"
                }
              }
            },
            "description": "Successful response."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error"
                }
              }
            },
            "description": "Error response."
          }
        }
      }
    }
  },
  "security": [
    {
      "basicAuth": []
    },
    {
      "bearerAuth": []
    }
  ],
  "servers": [
    {
      "url": "https://api.stripe.com/"
    }
  ]
}
