Plaid Institutions API

Plaid Institutions API is a tool designed to make it easier for developers to integrate financial institutions into their applications. By using this API, developers can access data from thousands of financial institutions, allowing users to securely connect their accounts, view balances and transaction history, and perform other financial tasks within the app. This API simplifies the process of working with multiple financial institutions, enabling developers to create more comprehensive and user-friendly financial applications. Additionally, Plaid Institutions API offers robust security measures to protect users' sensitive financial information, ensuring peace of mind for both developers and users.

OpenAPI Specification

plaid-institutions--openapi-original.yml Raw ↑
openapi: 3.0.0
servers:
  - description: Production
    url: https://production.plaid.com
  - description: Development
    url: https://development.plaid.com
  - description: Sandbox
    url: https://sandbox.plaid.com
info:
  title: 'Plaid institutions/'
  version: 2020-09-14_1.517.0
  description: Needs description.
  contact:
    name: Plaid Developer Team
    url: https://plaid.com
  termsOfService: https://plaid.com/legal/
tags:
  - name: Plaid
security:
  - clientId: []
    secret: []
    plaidVersion: []
paths:
  /institutions/get:
    x-plaid-business-unit-context: BUSINESS_UNIT_PLAID
    post:
      tags:
        - Plaid
      summary: Plaid Get details of all supported institutions
      externalDocs:
        url: /api/institutions/#institutionsget
      operationId: institutionsGet
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstitutionsGetResponse'
              examples:
                example-1:
                  value:
                    institutions:
                      - country_codes:
                          - US
                        institution_id: ins_1
                        name: Bank of America
                        products:
                          - assets
                          - auth
                          - balance
                          - transactions
                          - identity
                          - liabilities
                        routing_numbers:
                          - '011000138'
                          - '011200365'
                          - '011400495'
                        dtc_numbers:
                          - '2236'
                          - '0955'
                          - '1367'
                        oauth: false
                        status:
                          item_logins:
                            status: HEALTHY
                            last_status_change: '2019-02-15T15:53:00Z'
                            breakdown:
                              success: 0.9
                              error_plaid: 0.01
                              error_institution: 0.09
                          transactions_updates:
                            status: HEALTHY
                            last_status_change: '2019-02-12T08:22:00Z'
                            breakdown:
                              success: 0.95
                              error_plaid: 0.02
                              error_institution: 0.03
                              refresh_interval: NORMAL
                          auth:
                            status: HEALTHY
                            last_status_change: '2019-02-15T15:53:00Z'
                            breakdown:
                              success: 0.91
                              error_plaid: 0.01
                              error_institution: 0.08
                          identity:
                            status: DEGRADED
                            last_status_change: '2019-02-15T15:50:00Z'
                            breakdown:
                              success: 0.42
                              error_plaid: 0.08
                              error_institution: 0.5
                          investments:
                            status: HEALTHY
                            last_status_change: '2019-02-15T15:53:00Z'
                            breakdown:
                              success: 0.89
                              error_plaid: 0.02
                              error_institution: 0.09
                            liabilities:
                              status: HEALTHY
                              last_status_change: '2019-02-15T15:53:00Z'
                              breakdown:
                                success: 0.89
                                error_plaid: 0.02
                                error_institution: 0.09
                          investments_updates:
                            status: HEALTHY
                            last_status_change: '2019-02-12T08:22:00Z'
                            breakdown:
                              success: 0.95
                              error_plaid: 0.02
                              error_institution: 0.03
                              refresh_interval: NORMAL
                          liabilities_updates:
                            status: HEALTHY
                            last_status_change: '2019-02-12T08:22:00Z'
                            breakdown:
                              success: 0.95
                              error_plaid: 0.02
                              error_institution: 0.03
                              refresh_interval: NORMAL
                    request_id: tbFyCEqkU774ZGG
                    total: 11384
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlaidError'
          description: Error response
      description: >-
        Returns a JSON response containing details on all financial institutions
        currently supported by Plaid. Because Plaid supports thousands of
        institutions, results are paginated.


        If there is no overlap between an institution’s enabled products and a
        client’s enabled products, then the institution will be filtered out
        from the response. As a result, the number of institutions returned may
        not match the count specified in the call.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstitutionsGetRequest'
        description: ''
  /institutions/search:
    x-plaid-business-unit-context: BUSINESS_UNIT_PLAID
    post:
      tags:
        - Plaid
      summary: Plaid Search institutions
      externalDocs:
        url: /api/institutions/#institutionssearch
      operationId: institutionsSearch
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstitutionsSearchResponse'
              examples:
                example-1:
                  value:
                    institutions:
                      - country_codes:
                          - US
                        institution_id: ins_118923
                        name: Red Platypus Bank - Red Platypus Bank
                        products:
                          - assets
                          - auth
                          - balance
                          - transactions
                          - identity
                        routing_numbers:
                          - '011000138'
                          - '011200365'
                          - '011400495'
                        dtc_numbers:
                          - '2236'
                          - '0955'
                          - '1367'
                        oauth: false
                        status:
                          item_logins:
                            status: HEALTHY
                            last_status_change: '2019-02-15T15:53:00Z'
                            breakdown:
                              success: 0.9
                              error_plaid: 0.01
                              error_institution: 0.09
                          transactions_updates:
                            status: HEALTHY
                            last_status_change: '2019-02-12T08:22:00Z'
                            breakdown:
                              success: 0.95
                              error_plaid: 0.02
                              error_institution: 0.03
                              refresh_interval: NORMAL
                          auth:
                            status: HEALTHY
                            last_status_change: '2019-02-15T15:53:00Z'
                            breakdown:
                              success: 0.91
                              error_plaid: 0.01
                              error_institution: 0.08
                          identity:
                            status: DEGRADED
                            last_status_change: '2019-02-15T15:50:00Z'
                            breakdown:
                              success: 0.42
                              error_plaid: 0.08
                              error_institution: 0.5
                          investments:
                            status: HEALTHY
                            last_status_change: '2019-02-15T15:53:00Z'
                            breakdown:
                              success: 0.89
                              error_plaid: 0.02
                              error_institution: 0.09
                            liabilities:
                              status: HEALTHY
                              last_status_change: '2019-02-15T15:53:00Z'
                              breakdown:
                                success: 0.89
                                error_plaid: 0.02
                                error_institution: 0.09
                          investments_updates:
                            status: HEALTHY
                            last_status_change: '2019-02-12T08:22:00Z'
                            breakdown:
                              success: 0.95
                              error_plaid: 0.02
                              error_institution: 0.03
                              refresh_interval: NORMAL
                          liabilities_updates:
                            status: HEALTHY
                            last_status_change: '2019-02-12T08:22:00Z'
                            breakdown:
                              success: 0.95
                              error_plaid: 0.02
                              error_institution: 0.03
                              refresh_interval: NORMAL
                    request_id: Ggmk0enW4smO2Tp
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlaidError'
          description: Error response
      description: >
        Returns a JSON response containing details for institutions that match
        the query parameters, up to a maximum of ten institutions per query.


        Versioning note: API versions 2019-05-29 and earlier allow use of the
        `public_key` parameter instead of the `client_id` and `secret`
        parameters to authenticate to this endpoint. The `public_key` parameter
        has since been deprecated; all customers are encouraged to use
        `client_id` and `secret` instead.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstitutionsSearchRequest'
  /institutions/get_by_id:
    x-plaid-business-unit-context: BUSINESS_UNIT_PLAID
    post:
      tags:
        - Plaid
      summary: Plaid Get details of an institution
      externalDocs:
        url: /api/institutions/#institutionsget_by_id
      operationId: institutionsGetById
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InstitutionsGetByIdResponse'
              examples:
                example-1:
                  value:
                    institution:
                      country_codes:
                        - US
                      institution_id: ins_109512
                      name: Houndstooth Bank
                      products:
                        - auth
                        - balance
                        - identity
                        - transactions
                      routing_numbers:
                        - '011000138'
                        - '011200365'
                        - '011400495'
                      dtc_numbers:
                        - '2236'
                        - '0955'
                        - '1367'
                      oauth: false
                      status:
                        item_logins:
                          status: HEALTHY
                          last_status_change: '2019-02-15T15:53:00Z'
                          breakdown:
                            success: 0.9
                            error_plaid: 0.01
                            error_institution: 0.09
                        transactions_updates:
                          status: HEALTHY
                          last_status_change: '2019-02-12T08:22:00Z'
                          breakdown:
                            success: 0.95
                            error_plaid: 0.02
                            error_institution: 0.03
                            refresh_interval: NORMAL
                        auth:
                          status: HEALTHY
                          last_status_change: '2019-02-15T15:53:00Z'
                          breakdown:
                            success: 0.91
                            error_plaid: 0.01
                            error_institution: 0.08
                        identity:
                          status: DEGRADED
                          last_status_change: '2019-02-15T15:50:00Z'
                          breakdown:
                            success: 0.42
                            error_plaid: 0.08
                            error_institution: 0.5
                        investments:
                          status: HEALTHY
                          last_status_change: '2019-02-15T15:53:00Z'
                          breakdown:
                            success: 0.89
                            error_plaid: 0.02
                            error_institution: 0.09
                          liabilities:
                            status: HEALTHY
                            last_status_change: '2019-02-15T15:53:00Z'
                            breakdown:
                              success: 0.89
                              error_plaid: 0.02
                              error_institution: 0.09
                        investments_updates:
                          status: HEALTHY
                          last_status_change: '2019-02-12T08:22:00Z'
                          breakdown:
                            success: 0.95
                            error_plaid: 0.02
                            error_institution: 0.03
                            refresh_interval: NORMAL
                        liabilities_updates:
                          status: HEALTHY
                          last_status_change: '2019-02-12T08:22:00Z'
                          breakdown:
                            success: 0.95
                            error_plaid: 0.02
                            error_institution: 0.03
                            refresh_interval: NORMAL
                      primary_color: '#004966'
                      url: https://plaid.com
                      logo:
                    request_id: m8MDnv9okwxFNBV
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlaidError'
          description: Error response
      description: >
        Returns a JSON response containing details on a specified financial
        institution currently supported by Plaid.


        Versioning note: API versions 2019-05-29 and earlier allow use of the
        `public_key` parameter instead of the `client_id` and `secret` to
        authenticate to this endpoint. The `public_key` has been deprecated; all
        customers are encouraged to use `client_id` and `secret` instead.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstitutionsGetByIdRequest'
        description: ''
components:
  schemas:
    InstitutionsGetResponse:
      type: object
      additionalProperties: true
      description: >-
        InstitutionsGetResponse defines the response schema for
        `/institutions/get`
      properties:
        institutions:
          type: array
          description: A list of Plaid institutions
          items:
            $ref: '#/components/schemas/Institution'
        total:
          type: integer
          description: The total number of institutions available via this endpoint
        request_id:
          $ref: '#/components/schemas/RequestID'
      required:
        - institutions
        - total
        - request_id
    PlaidError:
      description: >-
        Errors are identified by `error_code` and categorized by `error_type`.
        Use these in preference to HTTP status codes to identify and handle
        specific errors. HTTP status codes are set and provide the broadest
        categorization of errors: 4xx codes are for developer- or user-related
        errors, and 5xx codes are for Plaid-related errors, and the status will
        be 2xx in non-error cases. An Item with a non-`null` error object will
        only be part of an API response when calling `/item/get` to view Item
        status. Otherwise, error fields will be `null` if no error has occurred;
        if an error has occurred, an error code will be returned instead.
      type: object
      additionalProperties: true
      title: Error
      nullable: true
      properties:
        error_type:
          $ref: '#/components/schemas/PlaidErrorType'
        error_code:
          description: The particular error code. Safe for programmatic use.
          type: string
        error_message:
          description: >-
            A developer-friendly representation of the error code. This may
            change over time and is not safe for programmatic use.
          type: string
        display_message:
          description: >-
            A user-friendly representation of the error code. `null` if the
            error is not related to user action.


            This may change over time and is not safe for programmatic use.
          type: string
          nullable: true
        request_id:
          type: string
          description: >-
            A unique ID identifying the request, to be used for troubleshooting
            purposes. This field will be omitted in errors provided by webhooks.
        causes:
          type: array
          description: >-
            In the Assets product, a request can pertain to more than one Item.
            If an error is returned for such a request, `causes` will return an
            array of errors containing a breakdown of these errors on the
            individual Item level, if any can be identified.


            `causes` will only be provided for the `error_type`
            `ASSET_REPORT_ERROR`. `causes` will also not be populated inside an
            error nested within a `warning` object.
          items: {}
        status:
          type: integer
          description: >-
            The HTTP status code associated with the error. This will only be
            returned in the response body when the error information is provided
            via a webhook.
          nullable: true
        documentation_url:
          type: string
          description: >-
            The URL of a Plaid documentation page with more information about
            the error
        suggested_action:
          type: string
          nullable: true
          description: Suggested steps for resolving the error
      required:
        - error_type
        - error_code
        - error_message
        - display_message
    InstitutionsSearchResponse:
      type: object
      additionalProperties: true
      description: >-
        InstitutionsSearchResponse defines the response schema for
        `/institutions/search`
      properties:
        institutions:
          type: array
          description: An array of institutions matching the search criteria
          items:
            $ref: '#/components/schemas/Institution'
        request_id:
          $ref: '#/components/schemas/RequestID'
      required:
        - institutions
        - request_id
    InstitutionsGetByIdResponse:
      type: object
      additionalProperties: true
      description: >-
        InstitutionsGetByIdResponse defines the response schema for
        `/institutions/get_by_id`
      properties:
        institution:
          $ref: '#/components/schemas/Institution'
        request_id:
          $ref: '#/components/schemas/RequestID'
      required:
        - institution
        - request_id