openapi: 3.0.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:

To launch the Financial Connections authorization flow, create a Session. The session’s client_secret can be used to launch the flow using Stripe.js.

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:

Retrieves the details of a Financial Connections Session

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 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 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.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. nullable: true 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 nullable: 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 required: - accounts - client_secret - id - livemode - object - permissions title: BankConnectionsResourceLinkAccountSession type: object x-expandableFields: - account_holder - accounts - filters x-resourceId: financial_connections.session