Stripe Link Account Sessions API

The Link Account Sessions API from Stripe — 2 operation(s) for link account sessions.

Operations 2

POST /v1/link_account_sessions #
GET /v1/link_account_sessions/{session} #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/stripe-link-account-sessions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

stripe-link-account-sessions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Stripe Accounts Account Link Account Sessions 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: Link Account Sessions
paths:
  /v1/link_account_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: PostLinkAccountSessions
      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/PostLinkAccountSessionsRequest'
        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.
      tags:
      - Link Account Sessions
  /v1/link_account_sessions/{session}:
    get:
      description: <p>Retrieves the details of a Financial Connections <code>Session</code></p>
      operationId: GetLinkAccountSessionsSession
      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/GetLinkAccountSessionsSessionRequest'
        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.
      tags:
      - Link Account Sessions
components:
  schemas:
    error:
      description: An error response from the Stripe API
      properties:
        error:
          $ref: '#/components/schemas/api_errors'
      required:
      - error
      type: object
    GetLinkAccountSessionsSessionRequest:
      type: object
      properties: {}
    PostLinkAccountSessionsRequest:
      type: object
      required:
      - account_holder
      - permissions
      properties:
        account_holder:
          description: The account holder to link accounts for.
          properties:
            account:
              maxLength: 5000
              type: string
            customer:
              maxLength: 5000
              type: string
            type:
              enum:
              - account
              - customer
              type: string
          required:
          - type
          title: accountholder_params
          type: object
        expand:
          description: Specifies which fields in the response should be expanded.
          items:
            maxLength: 5000
            type: string
          type: array
        filters:
          description: Filters to restrict the kinds of accounts to collect.
          properties:
            countries:
              items:
                maxLength: 5000
                type: string
              type: array
          required:
          - countries
          title: filters_params
          type: object
        permissions:
          description: 'List of data features that you would like to request access to.


            Possible values are `balances`, `transactions`, `ownership`, and `payment_method`.'
          items:
            enum:
            - balances
            - ownership
            - payment_method
            - transactions
            maxLength: 5000
            type: string
            x-stripeBypassValidation: true
          type: array
        prefetch:
          description: List of data features that you would like to retrieve upon account creation.
          items:
            enum:
            - balances
            - ownership
            - transactions
            type: string
            x-stripeBypassValidation: true
          type: array
        return_url:
          description: For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.
          maxLength: 5000
          type: string
    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.
        balance:
          anyOf:
          - $ref: '#/components/schemas/bank_connections_resource_balance'
          description: The most recent information about the account's balance.
        balance_refresh:
          anyOf:
          - $ref: '#/components/schemas/bank_connections_resource_balance_refresh'
          description: The state of the most recent attempt to refresh the account balance.
        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
          type:
          - string
          - 'null'
        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
          type:
          - string
          - 'null'
        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.
          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.
        permissions:
          description: The list of permissions granted by this account.
          items:
            enum:
            - balances
            - ownership
            - payment_method
            - transactions
            type: string
          type:
          - array
          - 'null'
        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
          type:
          - array
          - 'null'
        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.
      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.session:
      description: A Financial Connections Session is the secure way to programmatically launch the client-side Stripe.js modal that lets your users link their accounts.
      properties:
        account_holder:
          anyOf:
          - $ref: '#/components/schemas/bank_connections_resource_accountholder'
          description: The account holder for whom accounts are collected in this session.
        accounts:
          description: The accounts that were collected as part of this Session.
          properties:
            data:
              description: Details about each object.
              items:
                $ref: '#/components/schemas/financial_connections.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/financial_connections/accounts
              type: string
          required:
          - data
          - has_more
          - object
          - url
          title: BankConnectionsResourceLinkedAccountList
          type: object
          x-expandableFields:
          - data
        client_secret:
          description: A value that will be passed to the client to launch the authentication flow.
          maxLength: 5000
          type: string
        filters:
          $ref: '#/components/schemas/bank_connections_resource_link_account_session_filters'
        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.session
          type: string
        permissions:
          description: Permissions requested for accounts collected during this session.
          items:
            enum:
            - balances
            - ownership
            - payment_method
            - transactions
            type: string
            x-stripeBypassValidation: true
          type: array
        prefetch:
          description: Data features requested to be retrieved upon account creation.
          items:
            enum:
            - balances
            - ownership
            - transactions
            type: string
            x-stripeBypassValidation: true
          type:
          - array
          - 'null'
        return_url:
          description: For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.
          maxLength: 5000
          type: string
      required:
      - accounts
      - client_secret
      - id
      - livemode
      - object
      - permissions
      title: BankConnectionsResourceLinkAccountSession
      type: object
      x-expandableFields:
      - account_holder
      - accounts
      - filters
      x-resourceId: financial_connections.session