> ## Documentation Index
> Fetch the complete documentation index at: https://docs.meld.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Search institution connections

> Retrieve institution connections filtered by various parameters.



## OpenAPI

````yaml /openapi/banklinking-20260203.json get /bank-linking/connections
openapi: 3.1.0
info:
  title: BANK LINKING
  termsOfService: urn:tos
  license:
    name: Apache 2.0
    url: https://springdoc.org
  version: '2026-02-03'
  description: ''
servers:
  - url: https://api-sb.meld.io
    description: Meld API sandbox
  - url: https://api.meld.io
    description: Meld API production
security: []
tags:
  - name: Financial Account Connect
  - name: Financial Account Transactions
  - name: Financial Accounts
  - name: Institutions
paths:
  /bank-linking/connections:
    get:
      tags:
        - Connections
      summary: Search institution connections
      description: Retrieve institution connections filtered by various parameters.
      operationId: bank-linking-connections-search
      parameters:
        - name: customerId
          in: query
          description: >-
            Meld generated unique identifier for your customer. This should be
            used to track customer activity.
          required: false
          schema:
            type: string
            default: ''
        - name: externalCustomerId
          in: query
          description: >-
            Your unique identifier for your customer. If maintaining your own
            customer management system this can also be used for tracking
            customer activity.
          required: false
          schema:
            type: string
            default: ''
        - name: institutionId
          in: query
          description: >-
            Institution id. If present, only institution connections with this
            institution will be included.
          required: false
          schema:
            type: string
            default: ''
        - name: statuses
          in: query
          description: >-
            Comma separated list of institution connection statuses. If present,
            only institution connections with these statuses will be included.


            Find out more about connection statuses
            [here.](https://docs.meld.io/docs/connection-statuses-and-errors)
          required: false
          schema:
            type: string
            default: ''
        - name: serviceProviders
          in: query
          description: >-
            Comma separated list of service providers. If present, only
            institution connections with these service providers will be
            included.


            ***Note:*** Reference [Supported Service
            Providers](https://docs.meld.io/docs/creating-connections#supported-service-providers)
            for the list of available bank linking providers.
          required: false
          schema:
            type: string
            default: ''
        - name: startDate
          in: query
          description: Start date to begin search from of format yyyy-mm-dd
          required: false
          schema:
            type: string
            default: ''
        - name: endDate
          in: query
          description: End date stop search on of format yyyy-mm-dd
          required: false
          schema:
            type: string
            default: ''
        - name: before
          in: query
          description: >-
            Unique key corresponding to an institution connection's position in
            the paginated list of results -- used to indicate that only
            institution connections residing before this key will be retrieved.


            Each institution connection carries a unique key. Reference
            [Pagination](https://docs.meld.io/docs/pagination)


            The ***before*** and ***after*** fields cannot be used in the same
            request.
          required: false
          schema:
            type: string
            default: ''
        - name: after
          in: query
          description: >-
            Unique key corresponding to a institution connection's position in
            the paginated list of results -- used to indicate that only
            institution connections residing after this key will be retrieved.


            Each institution connection carries a unique key. Reference
            [Pagination](https://docs.meld.io/docs/pagination)


            The ***before*** and ***after*** fields cannot be used in the same
            request.
          required: false
          schema:
            type: string
            default: ''
        - name: limit
          in: query
          description: |-
            Limits number of returned institution connections.

            *Default value*: 10

            *Minimum value*: 1

            *Maximum value*: 100
          required: false
          schema:
            type: string
            default: ''
        - name: institutionName
          in: query
          description: >-
            Institution name. If present, only institution connections with this
            institution will be included.If institutionId is present then
            institutionId will take precedence.
          required: false
          schema:
            type: string
            default: ''
      responses:
        '200':
          description: Connections are returned
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ConnectionPage'
        '400':
          description: 'Bad Request : check request values and format'
        '401':
          description: Invalid credentials
        '403':
          description: Unauthenticated or authenticated with insufficient access
        '500':
          description: >-
            Server Error. This applies to all 5xx errors, including but not
            limited to 500, 501, 502, 503, and 504 errors. You should treat all
            of these errors the same.
      security:
        - ApiKeyAuth: []
components:
  schemas:
    ConnectionPage:
      type: object
      properties:
        connections:
          type: array
          description: Connections
          items:
            $ref: '#/components/schemas/Connection'
        count:
          type: integer
          format: int32
          description: Number of connections returned.
        remaining:
          type: integer
          format: int32
          description: >-
            Number of remaining connections before/after this page, depending on
            the direction this page was selected.
    Connection:
      type: object
      properties:
        accountId:
          type: string
          description: >-
            The unique identifier of your account with Meld. This id will be the
            same for all calls to Meld endpoints made from this account.
        activeDuplicateConnectionId:
          type: string
          description: >-
            If duplicate connections exist for this connection, then this
            specifies which of these duplicates is the actively maintained
            connection. If the connection has no duplicates, then this will be
            null. The primary duplicate connection defaults to whichever one was
            aggregated most recently, but can be manipulated by refreshing
            another duplicate (in which case that connection assumes the
            connection status of the active connection, and the previously
            active connection becomes an INACTIVE_DUPLICATE). Note that the
            active duplicate will not be guaranteed to have an actual connection
            status of ACTIVE (it may be RECONNECT_REQUIRED for example), this is
            just an indicator that it is the main duplicate that is routinely
            updated.
        createdAt:
          type: string
          format: date-time
          description: Date and time created
        customerId:
          type: string
          description: Meld customer id
        duplicateConnectionIds:
          type: array
          description: >-
            Duplicate connections occur when multiple Meld connections reference
            the same underlying service provider connection. This occurs when
            the same customer connects to the same bank account(s) through the
            same service provider in separate connect sessions using the same
            login credentials.


            ***Note:*** Reference [Duplicate
            Connections](https://docs.meld.io/docs/duplicate-connections) for
            more details.
          items:
            type: string
        externalCustomerId:
          type: string
          description: >-
            Your unique identifier for your customer. If maintaining your own
            customer management system this can also be used for tracking
            customer activity.
        id:
          type: string
          description: The id of the institution connection
        institutionId:
          type: string
          description: Institution id
        institutionName:
          type: string
          description: Institution name
        key:
          type: string
          description: >-
            When this institution connection is part of a paginated list, this
            key represents its position in the list
        optionalProducts:
          type: array
          description: Optional products
          items:
            type: string
            enum:
              - BALANCES
              - IDENTIFIERS
              - INVESTMENT_HOLDINGS
              - INVESTMENT_TRANSACTIONS
              - OWNERS
              - TRANSACTIONS
          uniqueItems: true
        products:
          type: array
          description: Required products
          items:
            type: string
            enum:
              - BALANCES
              - IDENTIFIERS
              - INVESTMENT_HOLDINGS
              - INVESTMENT_TRANSACTIONS
              - OWNERS
              - TRANSACTIONS
          uniqueItems: true
        regions:
          type: array
          description: Allowed regions
          items:
            type: string
          uniqueItems: true
        serviceProviderDetails:
          type: object
          additionalProperties: {}
          description: Service provider specific details for the connection
        status:
          type: string
          description: |-
            The connection's status.

            *Possible statuses*:

            IN_PROGRESS

            ACTIVE

            PARTIALLY_ACTIVE

            DEGRADED

            RECONNECT_REQUIRED

            UNRECOVERABLE

            UNDETERMINED

            DELETED

            EXPIRED
        statusReason:
          type: string
          description: >-
            Reason for the connection status. Applicable primarily for error
            statuses. Possible values can be found
            [here](https://docs.meld.io/docs/connection-errors-and-reasons)
        successfullyAggregatedAt:
          type: string
          format: date-time
          description: >-
            The last time the connection was successfully aggregated by the
            underlying service provider. This value will be null until the first
            aggregation is completed. For service providers that send webhooks
            only when changes are detected during daily aggregations, this value
            may become stale if the connection hasn't had new balances or
            transactions in a while. The service provider may still be
            successfully aggregating the connection daily, but because no
            changes are being detected (and thus no webhooks being sent to
            Meld), then this value may not reflect the true last aggregation
            time, but rather the last time that changes were detected by the
            service provider.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      x-default: BASIC <Meld API Key>

````