Stripe Link Account Sessions API

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

OpenAPI Specification

stripe-link-account-sessions-api-openapi.yml Raw ↑
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: <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
    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