Stripe Connections API

The Connections API from Stripe — 11 operation(s) for connections.

OpenAPI Specification

stripe-connections-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Stripe Accounts Account Connections 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: Connections
paths:
  /v1/financial_connections/accounts:
    get:
      description: <p>Returns a list of Financial Connections <code>Account</code> objects.</p>
      operationId: getFinancialConnectionsAccounts
      parameters:
      - description: If present, only return accounts that belong to the specified account holder. `account_holder[customer]` and `account_holder[account]` are mutually exclusive.
        explode: true
        in: query
        name: account_holder
        required: false
        schema:
          properties:
            account:
              maxLength: 5000
              type: string
            customer:
              maxLength: 5000
              type: string
          title: accountholder_params
          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: 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: If present, only return accounts that were collected as part of the given session.
        in: query
        name: session
        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
              $ref: '#/components/schemas/GetFinancialConnectionsAccountsRequest'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                description: ''
                x-expandableFields:
                - data
                $ref: '#/components/schemas/BankConnectionsResourceLinkedAccountList'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Get   Financial Connections Accounts
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Connections
  /v1/financial_connections/accounts/{account}:
    get:
      description: <p>Retrieves the details of an Financial Connections <code>Account</code>.</p>
      operationId: getFinancialConnectionsAccountsAccount
      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
              $ref: '#/components/schemas/GetFinancialConnectionsAccountsAccountRequest'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/financial_connections.account'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Get   Financial Connections Accounts
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Connections
  /v1/financial_connections/accounts/{account}/disconnect:
    post:
      description: <p>Disables your access to a Financial Connections <code>Account</code>. You will no longer be able to access data associated with the account (e.g. balances, transactions).</p>
      operationId: postFinancialConnectionsAccountsAccountDisconnect
      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
              $ref: '#/components/schemas/PostFinancialConnectionsAccountsAccountDisconnectRequest'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/financial_connections.account'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Post   Financial Connections Accounts Disconnect
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Connections
  /v1/financial_connections/accounts/{account}/owners:
    get:
      description: <p>Lists all owners for a given <code>Account</code></p>
      operationId: getFinancialConnectionsAccountsAccountOwners
      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: The ID of the ownership object to fetch owners from.
        in: query
        name: ownership
        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
              $ref: '#/components/schemas/GetFinancialConnectionsAccountsAccountOwnersRequest'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                description: ''
                x-expandableFields:
                - data
                $ref: '#/components/schemas/BankConnectionsResourceOwnerList'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Get   Financial Connections Accounts Owners
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Connections
  /v1/financial_connections/accounts/{account}/refresh:
    post:
      description: <p>Refreshes the data associated with a Financial Connections <code>Account</code>.</p>
      operationId: postFinancialConnectionsAccountsAccountRefresh
      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
              features:
                explode: true
                style: deepObject
            schema:
              additionalProperties: false
              $ref: '#/components/schemas/PostFinancialConnectionsAccountsAccountRefreshRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/financial_connections.account'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Post   Financial Connections Accounts Refresh
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Connections
  /v1/financial_connections/accounts/{account}/subscribe:
    post:
      description: <p>Subscribes to periodic refreshes of data associated with a Financial Connections <code>Account</code>.</p>
      operationId: postFinancialConnectionsAccountsAccountSubscribe
      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
              features:
                explode: true
                style: deepObject
            schema:
              additionalProperties: false
              $ref: '#/components/schemas/PostFinancialConnectionsAccountsAccountSubscribeRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/financial_connections.account'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Post   Financial Connections Accounts Subscribe
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Connections
  /v1/financial_connections/accounts/{account}/unsubscribe:
    post:
      description: <p>Unsubscribes from periodic refreshes of data associated with a Financial Connections <code>Account</code>.</p>
      operationId: postFinancialConnectionsAccountsAccountUnsubscribe
      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
              features:
                explode: true
                style: deepObject
            schema:
              additionalProperties: false
              $ref: '#/components/schemas/PostFinancialConnectionsAccountsAccountUnsubscribeRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/financial_connections.account'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Post   Financial Connections Accounts Unsubscribe
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Connections
  /v1/financial_connections/sessions:
    post:
      description: <p>To launch the Financial Connections authorization flow, create a <code>Session</code>. The session’s <code>client_secret</code> can be used to launch the flow using Stripe.js.</p>
      operationId: postFinancialConnectionsSessions
      requestBody:
        content:
          application/x-www-form-urlencoded:
            encoding:
              account_holder:
                explode: true
                style: deepObject
              expand:
                explode: true
                style: deepObject
              filters:
                explode: true
                style: deepObject
              permissions:
                explode: true
                style: deepObject
              prefetch:
                explode: true
                style: deepObject
            schema:
              additionalProperties: false
              $ref: '#/components/schemas/PostFinancialConnectionsSessionsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/financial_connections.session'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Post   Financial Connections Sessions
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Connections
  /v1/financial_connections/sessions/{session}:
    get:
      description: <p>Retrieves the details of a Financial Connections <code>Session</code></p>
      operationId: getFinancialConnectionsSessionsSession
      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: 5000
          type: string
        style: simple
      requestBody:
        content:
          application/x-www-form-urlencoded:
            encoding: {}
            schema:
              additionalProperties: false
              $ref: '#/components/schemas/GetFinancialConnectionsSessionsSessionRequest'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/financial_connections.session'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Get   Financial Connections Sessions Session
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Connections
  /v1/financial_connections/transactions:
    get:
      description: <p>Returns a list of Financial Connections <code>Transaction</code> objects.</p>
      operationId: getFinancialConnectionsTransactions
      parameters:
      - description: The ID of the Stripe account whose transactions will be retrieved.
        in: query
        name: account
        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:
          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 filter on the list based on the object `transacted_at` field. The value can be a string with an integer Unix timestamp, or it can be a dictionary with the following options:'
        explode: true
        in: query
        name: transacted_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: 'A filter on the list based on the object `transaction_refresh` field. The value can be a dictionary with the following options:'
        explode: true
        in: query
        name: transaction_refresh
        required: false
        schema:
          properties:
            after:
              maxLength: 5000
              type: string
          required:
          - after
          title: transaction_refresh_params
          type: object
        style: deepObject
      requestBody:
        content:
          application/x-www-form-urlencoded:
            encoding: {}
            schema:
              additionalProperties: false
              $ref: '#/components/schemas/GetFinancialConnectionsTransactionsRequest'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                description: ''
                x-expandableFields:
                - data
                $ref: '#/components/schemas/BankConnectionsResourceTransactionList'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Get   Financial Connections Transactions
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Connections
  /v1/financial_connections/transactions/{transaction}:
    get:
      description: <p>Retrieves the details of a Financial Connections <code>Transaction</code></p>
      operationId: getFinancialConnectionsTransactionsTransaction
      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
              $ref: '#/components/schemas/GetFinancialConnectionsTransactionsTransactionRequest'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/financial_connections.transaction'
          description: Successful response.
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
          description: Error response.
      summary: Stripe Get   Financial Connections Transactions Transaction
      x-api-evangelist-processing:
        GenerateOperationSummariesFromPath: true
        PascalCaseOperationSummaries: true
        CaselCaseOperationIds: true
        ChooseTags: true
      tags:
      - Connections
components:
  schemas:
    PostFinancialConnectionsAccountsAccountSubscribeRequest:
      type: object
      required:
      - features
      properties:
        expand:
          description: Specifies which fields in the response should be expanded.
          items:
            maxLength: 5000
            type: string
          type: array
        features:
          description: The list of account features to which you would like to subscribe.`.
          items:
            enum:
            - transactions
            type: string
            x-stripeBypassValidation: true
          type: array
    PostFinancialConnectionsAccountsAccountRefreshRequest:
      type: object
      required:
      - features
      properties:
        expand:
          description: Specifies which fields in the response should be expanded.
          items:
            maxLength: 5000
            type: string
          type: array
        features:
          description: The list of account features that you would like to refresh.
          items:
            enum:
            - balance
            - ownership
            - transactions
            type: string
            x-stripeBypassValidation: true
          type: array
    financial_connections.account:
      description: A Financial Connections Account represents an account that exists outside of Stripe, to which you have been granted some degree of access.
      properties:
        account_holder:
          anyOf:
          - $ref: '#/components/schemas/bank_connections_resource_accountholder'
          description: The account holder that this account belongs to.
          nullable: true
        balance:
          anyOf:
          - $ref: '#/components/schemas/bank_connections_resource_balance'
          description: The most recent information about the account's balance.
          nullable: true
        balance_refresh:
          anyOf:
          - $ref: '#/components/schemas/bank_connections_resource_balance_refresh'
          description: The state of the most recent attempt to refresh the account balance.
          nullable: true
        category:
          description: The type of the account. Account category is further divided in `subcategory`.
          enum:
          - cash
          - credit
          - investment
          - other
          type: string
        created:
          description: Time at which the object was created. Measured in seconds since the Unix epoch.
          format: unix-time
          type: integer
        display_name:
          description: A human-readable name that has been assigned to this account, either by the account holder or by the institution.
          maxLength: 5000
          nullable: true
          type: string
        id:
          description: Unique identifier for the object.
          maxLength: 5000
          type: string
        institution_name:
          description: The name of the institution that holds this account.
          maxLength: 5000
          type: string
        last4:
          description: The last 4 digits of the account number. If present, this will be 4 numeric characters.
          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:
          - financial_connections.account
          type: string
        ownership:
          anyOf:
          - maxLength: 5000
            type: string
          - $ref: '#/components/schemas/financial_connections.account_ownership'
          description: The most recent information about the account's owners.
          nullable: true
          x-expansionResources:
            oneOf:
            - $ref: '#/components/schemas/financial_connections.account_ownership'
        ownership_refresh:
          anyOf:
          - $ref: '#/components/schemas/bank_connections_resource_ownership_refresh'
          description: The state of the most recent attempt to refresh the account owners.
          nullable: true
        permissions:
          description: The list of permissions granted by this account.
          items:
            enum:
            - balances
            - ownership
            - payment_method
            - transactions
            type: string
          nullable: true
          type: array
        status:
          description: The status of the link to the account.
          enum:
          - active
          - disconnected
          - inactive
          type: string
        subcategory:
          description: "If `category` is `cash`, one of:\n\n - `checking`\n - `savings`\n - `other`\n\nIf `category` is `credit`, one of:\n\n - `mortgage`\n - `line_of_credit`\n - `credit_card`\n - `other`\n\nIf `category` is `investment` or `other`, this will be `other`."
          enum:
          - checking
          - credit_card
          - line_of_credit
          - mortgage
          - other
          - savings
          type: string
        subscriptions:
          description: The list of data refresh subscriptions requested on this account.
          items:
            enum:
            - transactions
            type: string
            x-stripeBypassValidation: true
          nullable: true
          type: array
        supported_payment_method_types:
          description: The [PaymentMethod type](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type)(s) that can be created from this account.
          items:
            enum:
            - link
            - us_bank_account
            type: string
          type: array
        transaction_refresh:
          anyOf:
          - $ref: '#/components/schemas/bank_connections_resource_transaction_refresh'
          description: The state of the most recent attempt to refresh the account transactions.
          nullable: true
      required:
      - category
      - created
      - id
      - institution_name
      - livemode
      - object
      - status
      - subcategory
      - supported_payment_method_types
      title: BankConnectionsResourceLinkedAccount
      type: object
      x-expandableFields:
      - account_holder
      - balance
      - balance_refresh
      - ownership
      - ownership_refresh
      - transaction_refresh
      x-resourceId: financial_connections.account
    financial_connections.transaction:
      description: A Transaction represents a real transaction that affects a Financial Connections Account balance.
      properties:
        account:
          description: The ID of the Financial Connections Account this transaction belongs to.
          maxLength: 5000
          type: string
        amount:
          description: The amount of this transaction, in cents (or local equivalent).
          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: The description of this transaction.
          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:
          - financial_connections.transaction
          type: string
        status:
          description: The status of the transaction.
          enum:
          - pending
          - posted
          - void
          type: string
        status_transitions:
          $ref: '#/components/schemas/bank_connections_resource_transaction_resource_status_transitions'
        transacted_at:
          description: Time at which the transaction was 

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