Stripe Configurations API

The Configurations API from Stripe — 4 operation(s) for configurations.

OpenAPI Specification

stripe-configurations-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Stripe Accounts Account Configurations API
  description: This is an object representing a Stripe account. You can retrieve it to see properties on the account like its current requirements or if the account is enabled to make live charges or receive payouts.
  contact:
    email: dev-platform@stripe.com
    name: Stripe Dev Platform Team
    url: https://stripe.com
  termsOfService: https://stripe.com/us/terms/
  version: '2023-10-16'
  x-stripeSpecFilename: spec3
servers:
- url: https://api.stripe.com/
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Configurations
paths:
  /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
              $ref: '#/components/schemas/GetBillingPortalConfigurationsRequest'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                description: ''
                x-expandableFields:
                - data
                $ref: '#/components/schemas/PortalPublicResourceConfigurationList'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Get   Billing Portal Configurations
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Configurations
    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
              login_page:
                explode: true
                style: deepObject
              metadata:
                explode: true
                style: deepObject
            schema:
              additionalProperties: false
              $ref: '#/components/schemas/PostBillingPortalConfigurationsRequest'
        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.
      summary: Stripe Post   Billing Portal Configurations
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Configurations
  /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
              $ref: '#/components/schemas/GetBillingPortalConfigurationsConfigurationRequest'
        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.
      summary: Stripe Get   Billing Portal Configurations Configuration
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Configurations
    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
              login_page:
                explode: true
                style: deepObject
              metadata:
                explode: true
                style: deepObject
            schema:
              additionalProperties: false
              $ref: '#/components/schemas/PostBillingPortalConfigurationsConfigurationRequest'
        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.
      summary: Stripe Post   Billing Portal Configurations Configuration
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Configurations
  /v1/payment_method_configurations:
    get:
      description: <p>List payment method configurations</p>
      operationId: getPaymentMethodConfigurations
      parameters:
      - description: The Connect application to filter by.
        explode: true
        in: query
        name: application
        required: false
        schema:
          anyOf:
          - maxLength: 100
            type: string
          - 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
      requestBody:
        content:
          application/x-www-form-urlencoded:
            encoding: {}
            schema:
              additionalProperties: false
              $ref: '#/components/schemas/GetPaymentMethodConfigurationsRequest'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                description: ''
                x-expandableFields:
                - data
                $ref: '#/components/schemas/PaymentMethodConfigResourcePaymentMethodConfigurationsList'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Get   Payment Method Configurations
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Configurations
    post:
      description: <p>Creates a payment method configuration</p>
      operationId: postPaymentMethodConfigurations
      requestBody:
        content:
          application/x-www-form-urlencoded:
            encoding:
              acss_debit:
                explode: true
                style: deepObject
              affirm:
                explode: true
                style: deepObject
              afterpay_clearpay:
                explode: true
                style: deepObject
              alipay:
                explode: true
                style: deepObject
              apple_pay:
                explode: true
                style: deepObject
              apple_pay_later:
                explode: true
                style: deepObject
              au_becs_debit:
                explode: true
                style: deepObject
              bacs_debit:
                explode: true
                style: deepObject
              bancontact:
                explode: true
                style: deepObject
              blik:
                explode: true
                style: deepObject
              boleto:
                explode: true
                style: deepObject
              card:
                explode: true
                style: deepObject
              cartes_bancaires:
                explode: true
                style: deepObject
              cashapp:
                explode: true
                style: deepObject
              eps:
                explode: true
                style: deepObject
              expand:
                explode: true
                style: deepObject
              fpx:
                explode: true
                style: deepObject
              giropay:
                explode: true
                style: deepObject
              google_pay:
                explode: true
                style: deepObject
              grabpay:
                explode: true
                style: deepObject
              ideal:
                explode: true
                style: deepObject
              jcb:
                explode: true
                style: deepObject
              klarna:
                explode: true
                style: deepObject
              konbini:
                explode: true
                style: deepObject
              link:
                explode: true
                style: deepObject
              oxxo:
                explode: true
                style: deepObject
              p24:
                explode: true
                style: deepObject
              paynow:
                explode: true
                style: deepObject
              paypal:
                explode: true
                style: deepObject
              promptpay:
                explode: true
                style: deepObject
              revolut_pay:
                explode: true
                style: deepObject
              sepa_debit:
                explode: true
                style: deepObject
              sofort:
                explode: true
                style: deepObject
              us_bank_account:
                explode: true
                style: deepObject
              wechat_pay:
                explode: true
                style: deepObject
            schema:
              additionalProperties: false
              $ref: '#/components/schemas/PostPaymentMethodConfigurationsRequest'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/payment_method_configuration'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Post   Payment Method Configurations
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Configurations
  /v1/payment_method_configurations/{configuration}:
    get:
      description: <p>Retrieve payment method configuration</p>
      operationId: getPaymentMethodConfigurationsConfiguration
      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
              $ref: '#/components/schemas/GetPaymentMethodConfigurationsConfigurationRequest'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/payment_method_configuration'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Get   Payment Method Configurations
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Configurations
    post:
      description: <p>Update payment method configuration</p>
      operationId: postPaymentMethodConfigurationsConfiguration
      parameters:
      - in: path
        name: configuration
        required: true
        schema:
          maxLength: 5000
          type: string
        style: simple
      requestBody:
        content:
          application/x-www-form-urlencoded:
            encoding:
              acss_debit:
                explode: true
                style: deepObject
              affirm:
                explode: true
                style: deepObject
              afterpay_clearpay:
                explode: true
                style: deepObject
              alipay:
                explode: true
                style: deepObject
              apple_pay:
                explode: true
                style: deepObject
              apple_pay_later:
                explode: true
                style: deepObject
              au_becs_debit:
                explode: true
                style: deepObject
              bacs_debit:
                explode: true
                style: deepObject
              bancontact:
                explode: true
                style: deepObject
              blik:
                explode: true
                style: deepObject
              boleto:
                explode: true
                style: deepObject
              card:
                explode: true
                style: deepObject
              cartes_bancaires:
                explode: true
                style: deepObject
              cashapp:
                explode: true
                style: deepObject
              eps:
                explode: true
                style: deepObject
              expand:
                explode: true
                style: deepObject
              fpx:
                explode: true
                style: deepObject
              giropay:
                explode: true
                style: deepObject
              google_pay:
                explode: true
                style: deepObject
              grabpay:
                explode: true
                style: deepObject
              ideal:
                explode: true
                style: deepObject
              jcb:
                explode: true
                style: deepObject
              klarna:
                explode: true
                style: deepObject
              konbini:
                explode: true
                style: deepObject
              link:
                explode: true
                style: deepObject
              oxxo:
                explode: true
                style: deepObject
              p24:
                explode: true
                style: deepObject
              paynow:
                explode: true
                style: deepObject
              paypal:
                explode: true
                style: deepObject
              promptpay:
                explode: true
                style: deepObject
              revolut_pay:
                explode: true
                style: deepObject
              sepa_debit:
                explode: true
                style: deepObject
              sofort:
                explode: true
                style: deepObject
              us_bank_account:
                explode: true
                style: deepObject
              wechat_pay:
                explode: true
                style: deepObject
            schema:
              additionalProperties: false
              $ref: '#/components/schemas/PostPaymentMethodConfigurationsConfigurationRequest'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/payment_method_configuration'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Post   Payment Method Configurations
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Configurations
components:
  schemas:
    PortalPublicResourceConfigurationList:
      type: object
      required:
      - data
      - has_more
      - object
      - url
      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
    payment_method_configuration:
      description: 'PaymentMethodConfigurations control which payment methods are displayed to your customers when you don''t explicitly specify payment method types. You can have multiple configurations with different sets of payment methods for different scenarios.


        There are two types of PaymentMethodConfigurations. Which is used depends on the [charge type](https://stripe.com/docs/connect/charges):


        **Direct** configurations apply to payments created on your account, including Connect destination charges, Connect separate charges and transfers, and payments not involving Connect.


        **Child** configurations apply to payments created on your connected accounts using direct charges, and charges with the on_behalf_of parameter.


        Child configurations have a `parent` that sets default values and controls which settings connected accounts may override. You can specify a parent ID at payment time, and Stripe will automatically resolve the connected account’s associated child configuration. Parent configurations are [managed in the dashboard](https://dashboard.stripe.com/settings/payment_methods/connected_accounts) and are not available in this API.


        Related guides:

        - [Payment Method Configurations API](https://stripe.com/docs/connect/payment-method-configurations)

        - [Multiple configurations on dynamic payment methods](https://stripe.com/docs/payments/multiple-payment-method-configs)

        - [Multiple configurations for your Connect accounts](https://stripe.com/docs/connect/multiple-payment-method-configurations)'
      properties:
        acss_debit:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        active:
          description: Whether the configuration can be used for new payments.
          type: boolean
        affirm:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        afterpay_clearpay:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        alipay:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        apple_pay:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        application:
          description: For child configs, the Connect application associated with the configuration.
          maxLength: 5000
          nullable: true
          type: string
        au_becs_debit:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        bacs_debit:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        bancontact:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        blik:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        boleto:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        card:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        cartes_bancaires:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        cashapp:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        eps:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        fpx:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        giropay:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        google_pay:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        grabpay:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        id:
          description: Unique identifier for the object.
          maxLength: 5000
          type: string
        ideal:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        is_default:
          description: The default configuration is used whenever a payment method configuration is not specified.
          type: boolean
        jcb:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        klarna:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        konbini:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        link:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        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
        name:
          description: The configuration's name.
          maxLength: 5000
          type: string
        object:
          description: String representing the object's type. Objects of the same type share the same value.
          enum:
          - payment_method_configuration
          type: string
        oxxo:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        p24:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        parent:
          description: For child configs, the configuration's parent configuration.
          maxLength: 5000
          nullable: true
          type: string
        paynow:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        paypal:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        promptpay:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        revolut_pay:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        sepa_debit:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        sofort:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        us_bank_account:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
        wechat_pay:
          $ref: '#/components/schemas/payment_method_config_resource_payment_method_properties'
      required:
      - active
      - id
      - is_default
      - livemode
      - name
      - object
      title: PaymentMethodConfigResourcePaymentMethodConfiguration
      type: object
      x-expandableFields:
      - acss_debit
      - affirm
      - afterpay_clearpay
      - alipay
      - apple_pay
      - au_becs_debit
      - bacs_debit
      - bancontact
      - blik
      - boleto
      - card
      - cartes_bancaires
      - cashapp
      - eps
      - fpx
      - giropay
      - google_pay
      - grabpay
      - ideal
      - jcb
      - klarna
      - konbini
      - link
      - oxxo
      - p24
      - paynow
      - paypal
      - promptpay
      - revolut_pay
      - sepa_debit
      - sofort
      - us_bank_account
      - wechat_pay
      x-resourceId: payment_method_configuration
    GetBillingPortalConfigurationsRequest:
      type: object
      properties: {}
    error:
      description: An error response from the Stripe API
      properties:
        error:
          $ref: '#/components/schemas/api_errors'
      required:
      - error
      type: object
    GetPaymentMethodConfigurationsConfigurationRequest:
      type: object
      properties: {}
    PostBillingPortalConfigurationsRequest:
      type: object
      required:
      - business_profile
      - features
      properties:
        business_profile:
          description: The business information shown to customers in the portal.
          properties:
            headline:
              anyOf:
              - maxLength: 60
                type: string
              - enum:
                - ''
                type: string
            privacy_policy_url:
              type: string
            terms_of_service_url:
              type: string
          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
                      - name
                      - phone
                      - shipping
                      - tax_id
                      type: string
                    type: array
                  - enum:
                    - ''
                    type: string
                enabled:
                  type: boolean
              required:
              - 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:
                cancellation_reason:
                  properties:
                    enabled:
                      type: boolean
                    options:
                      anyOf:
                      - items:
                          enum:
                          - customer_service
                          - low_quality
                          - mi

# --- truncated at 32 KB (95 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/stripe/refs/heads/main/openapi/stripe-configurations-api-openapi.yml