Stripe · Schema

BankConnectionsResourceLinkAccountSession

A Financial Connections Session is the secure way to programmatically launch the client-side Stripe.js modal that lets your users link their accounts.

CommerceFinancial ServicesFintechPaymentsT1StripeAgentic CommercePoint-of-SalePayment Processing

Properties

Name Type Description
account_holder object The account holder for whom accounts are collected in this session.
accounts object The accounts that were collected as part of this Session.
client_secret string A value that will be passed to the client to launch the authentication flow.
filters object
id string Unique identifier for the object.
livemode boolean Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
object string String representing the object's type. Objects of the same type share the same value.
permissions array Permissions requested for accounts collected during this session.
prefetch arraynull Data features requested to be retrieved upon account creation.
return_url string 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.
View JSON Schema on GitHub

JSON Schema

stripe-financial-connections-session-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/stripe/main/json-schema/stripe-financial-connections-session-schema.json",
  "title": "BankConnectionsResourceLinkAccountSession",
  "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.",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/stripe-financial-connections-api-openapi.yml#/components/schemas/financial_connections.session",
  "properties": {
    "account_holder": {
      "anyOf": [
        {
          "$ref": "#/$defs/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": "#/$defs/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": "#/$defs/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"
  ],
  "type": "object",
  "x-expandableFields": [
    "account_holder",
    "accounts",
    "filters"
  ],
  "x-resourceId": "financial_connections.session",
  "$defs": {
    "bank_connections_resource_accountholder": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "bank_connections_resource_balance": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "bank_connections_resource_balance_refresh": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "bank_connections_resource_link_account_session_filters": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "bank_connections_resource_ownership_refresh": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "bank_connections_resource_transaction_refresh": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    },
    "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": "#/$defs/bank_connections_resource_accountholder"
            }
          ],
          "description": "The account holder that this account belongs to."
        },
        "balance": {
          "anyOf": [
            {
              "$ref": "#/$defs/bank_connections_resource_balance"
            }
          ],
          "description": "The most recent information about the account's balance."
        },
        "balance_refresh": {
          "anyOf": [
            {
              "$ref": "#/$defs/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": "#/$defs/financial_connections.account_ownership"
            }
          ],
          "description": "The most recent information about the account's owners.",
          "x-expansionResources": {
            "oneOf": [
              {
                "$ref": "#/$defs/financial_connections.account_ownership"
              }
            ]
          }
        },
        "ownership_refresh": {
          "anyOf": [
            {
              "$ref": "#/$defs/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": "#/$defs/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.account_ownership": {
      "type": "object",
      "description": "Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.",
      "x-ae-placeholder": true
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/stripe-financial-connections-session"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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