Yapily Institutions API

Discover and inspect the 2,000+ supported UK and European banks (ASPSPs), including supported features, payment methods, countries, BIC/BBAN identifiers, media assets, and authentication mechanisms.

Yapily Institutions API is one of 9 APIs that Yapily publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko and 1 JSON Schema definition.

Tagged areas include Institutions, ASPSP, and Open Banking. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, sample payloads, 1 Naftiko capability spec, and 1 JSON Schema.

OpenAPI Specification

yapily-institutions-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Yapily Institutions API
  description: Retrieve metadata for the 2,000+ supported UK and EU banks (ASPSPs) including features, payment methods, country,
    and authentication mechanisms.
  version: 12.4.0
  contact:
    name: Yapily Support
    url: https://docs.yapily.com/resources/support
    email: [email protected]
servers:
- url: https://api.yapily.com
security:
- basicAuth: []
tags:
- description: 'An `Institution` object represents any Account Serving Payment Servicing Provider (ASPSP) that has been integrated
    and is accessible through the Yapily APIs (ASPSPs are entities that publish Read/Write APIs to permit, with customer consent,
    payments initiated by third party providers and/or make their customers financial data available to third party providers
    via their API endpoints).


    Any one of the following would be represented as Institution:


    - Traditional banks e.g. Santander

    - Neo-banks e.g. Monzo

    - Building societies e.g. Cumberland Building Society'
  name: Institutions
paths:
  /institutions:
    get:
      description: Used to retrieve all `Institutions` within an application
      operationId: getInstitutions
      responses:
        '200':
          content:
            application/json;charset=UTF-8:
              examples:
                Example Response:
                  $ref: '#/components/examples/institutions-example-response'
              schema:
                $ref: '#/components/schemas/ApiListResponseOfInstitution'
          description: Ok
        default:
          content:
            application/json;charset=UTF-8:
              examples:
                Error Response:
                  $ref: '#/components/examples/error-response-code-401'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Error Response
      summary: Get Institutions
      tags:
      - Institutions
  /institutions/{institutionId}:
    get:
      description: Used to retrieves details of a specific `Institution` within an application
      operationId: getInstitution
      parameters:
      - description: __Mandatory__. The Yapily institution Id for the `Institution`.
        in: path
        name: institutionId
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json;charset=UTF-8:
              examples:
                Example Response:
                  $ref: '#/components/examples/institution-example-response'
              schema:
                $ref: '#/components/schemas/Institution'
          description: Ok
        default:
          content:
            application/json;charset=UTF-8:
              examples:
                Error Response:
                  $ref: '#/components/examples/error-response-code-401'
              schema:
                $ref: '#/components/schemas/ApiResponseError'
          description: Error Response
      summary: Get Institution
      tags:
      - Institutions
components:
  schemas:
    ApiCall:
      type: object
    ApiError:
      type: object
      description: Provides details of the error that has occurred.
      properties:
        code:
          type: integer
          description: __Mandatory__. Numeric `HTTP` status code associated with the error.
          format: int32
        institutionError:
          $ref: '#/components/schemas/InstitutionError'
        message:
          type: string
          description: __Mandatory__. Description of the exact error that has been experienced.
        source:
          type: string
        status:
          type: string
          description: __Mandatory__. Textual description of the `HTTP` error status type.
        tracingId:
          type: string
          description: __Optional__.  A unique identifier assigned by Yapily for the request that can be used for support
            purposes.
    ApiListResponseOfInstitution:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/ResponseListMeta'
        data:
          type: array
          items:
            $ref: '#/components/schemas/Institution'
        links:
          type: object
          additionalProperties:
            type: string
        forwardedData:
          type: array
          items:
            $ref: '#/components/schemas/ResponseForwardedData'
        raw:
          deprecated: true
          type: array
          items:
            $ref: '#/components/schemas/RawResponse'
        paging:
          $ref: '#/components/schemas/FilteredClientPayloadListInstitution'
        tracingId:
          type: string
          writeOnly: true
    ApiResponseError:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ApiError'
        raw:
          deprecated: true
          type: array
          items:
            $ref: '#/components/schemas/RawResponse'
      description: 'Used to return errors from the bank from each request


        - `400` - Returned by any `POST` endpoint when the body does not conform to the contract

        - `401` - Returned by any endpoint when an invalid `authToken` is used for authentication

        - `403` - Returned by any [Financial Data](/api-reference#financial-data) and any [Payments](/api-reference#payments)
        endpoint when the `Consent` is no longer authorised to access financial data or to make a payment

        - `404` - Returned by any endpoint where there are path parameters and the path parameters supplied are unable to
        find the desired resource

        - `409` - Returned by any `POST` endpoint when creating a resource that conflicts with any other existing resource
        e.g. [Create User](/api-reference/addUser)

        - `424` - Returned by any [Financial Data](/api-reference#financial-data) and any [Payments](/api-reference#payments)
        endpoint when the feature to be accessed is not supported by the `Institution`.

        - `500` - Returned by any endpoint when Yapily is down. If you encounter any false positives, please [notify us](mailto:[email protected])'
      example:
        error:
          tracingId: 74b13ce8ed51419f92c5d609e04532de
          code: 424
          institutionError:
            errorMessage: '{"Code":"500 Internal Server Error","Id":"5ff8d331-4282-41e0-b5ef-1ac9ac39f009","Message":"Technical
              Error. Please try again later","Errors":[{"ErrorCode":"UK.OBIE.UnexpectedError","Message":"There was a problem
              processing your request. Please try again later"}]}'
            httpStatusCode: 500
          source: INSTITUTION
          status: FAILED_DEPENDENCY
    Country:
      type: object
      properties:
        displayName:
          type: string
          description: Country name.
        countryCode2:
          type: string
          description: Two character ISO 3166 country code.
        bic:
          type: string
          description: Bank Identifier Code.
      description: An array of `Country` denoting which regions the `Institution` provides coverage for
    CredentialsType:
      type: string
      description: The type of credentials required to register the `Institution`
      enum:
      - OAUTH1
      - OAUTH2
      - OAUTH2_NOSECRET
      - OAUTH2_SIGNATURE
      - OPEN_BANKING_UK_MANUAL
      - OPEN_BANKING_UK_AUTO
      - OPEN_BANKING_IBM
      - OPEN_BANKING_AUTO
      - OPEN_BANKING_AUTO_EMAIL
      - OPEN_BANKING_MANUAL
      - OPEN_BANKING_WITH_TPP_ID_AND_SECRET
      - API_KEY
      - OPEN_BANKING_NO_KEY
      - OPEN_BANKING_NO_TRANSPORT
      - TOKEN_IO
    EnvironmentType:
      type: string
      description: "The environment type. \n\nSee [Institution Configuration](/introductionpages/key-concepts/institutions/#configuration)\
        \ for more information"
      enum:
      - SANDBOX
      - MOCK
      - LIVE
    FeatureEnum:
      type: string
      description: "Used to describe what functions are supported by the associated `Institution`.        \n\nFor more information\
        \ on each feature, see the following links:        \n\n- [Financial Data Features](/data/financial-data-resources/financial-data-features)\n\
        - [Payments Features](/payments/payment-resources/payment-features)"
      enum:
      - INITIATE_PRE_AUTHORISATION
      - INITIATE_PRE_AUTHORISATION_ACCOUNTS
      - INITIATE_PRE_AUTHORISATION_PAYMENTS
      - INITIATE_ACCOUNT_REQUEST
      - INITIATE_EMBEDDED_ACCOUNT_REQUEST
      - ACCOUNT_REQUEST_DETAILS
      - ACCOUNTS
      - ACCOUNT
      - ACCOUNT_TRANSACTIONS
      - ACCOUNT_STATEMENTS
      - ACCOUNT_STATEMENT
      - ACCOUNT_STATEMENT_FILE
      - ACCOUNT_SCHEDULED_PAYMENTS
      - ACCOUNT_DIRECT_DEBITS
      - ACCOUNT_PERIODIC_PAYMENTS
      - ACCOUNT_TRANSACTIONS_WITH_MERCHANT
      - IDENTITY
      - ACCOUNTS_WITHOUT_BALANCE
      - ACCOUNT_WITHOUT_BALANCE
      - ACCOUNT_BALANCES
      - INITIATE_SINGLE_PAYMENT_SORTCODE
      - EXISTING_PAYMENT_INITIATION_DETAILS
      - CREATE_SINGLE_PAYMENT_SORTCODE
      - EXISTING_PAYMENTS_DETAILS
      - INITIATE_DOMESTIC_SINGLE_PAYMENT
      - INITIATE_EMBEDDED_DOMESTIC_SINGLE_PAYMENT
      - CREATE_DOMESTIC_SINGLE_PAYMENT
      - INITIATE_EMBEDDED_BULK_PAYMENT
      - INITIATE_DOMESTIC_SINGLE_INSTANT_PAYMENT
      - CREATE_DOMESTIC_SINGLE_INSTANT_PAYMENT
      - INITIATE_DOMESTIC_VARIABLE_RECURRING_PAYMENT
      - CREATE_DOMESTIC_VARIABLE_RECURRING_PAYMENT
      - INITIATE_DOMESTIC_VARIABLE_RECURRING_PAYMENT_SWEEPING
      - CREATE_DOMESTIC_VARIABLE_RECURRING_PAYMENT_SWEEPING
      - INITIATE_DOMESTIC_VARIABLE_RECURRING_PAYMENT_COMMERCIAL
      - CREATE_DOMESTIC_VARIABLE_RECURRING_PAYMENT_COMMERCIAL
      - INITIATE_DOMESTIC_SCHEDULED_PAYMENT
      - CREATE_DOMESTIC_SCHEDULED_PAYMENT
      - INITIATE_DOMESTIC_PERIODIC_PAYMENT
      - CREATE_DOMESTIC_PERIODIC_PAYMENT
      - PERIODIC_PAYMENT_FREQUENCY_EXTENDED
      - INITIATE_INTERNATIONAL_SCHEDULED_PAYMENT
      - CREATE_INTERNATIONAL_SCHEDULED_PAYMENT
      - INITIATE_INTERNATIONAL_PERIODIC_PAYMENT
      - CREATE_INTERNATIONAL_PERIODIC_PAYMENT
      - INITIATE_INTERNATIONAL_SINGLE_PAYMENT
      - CREATE_INTERNATIONAL_SINGLE_PAYMENT
      - INITIATE_BULK_PAYMENT
      - CREATE_BULK_PAYMENT
      - EXISTING_BULK_PAYMENT_DETAILS
      - TRANSFER
      - OPEN_DATA_PERSONAL_CURRENT_ACCOUNTS
      - OPEN_DATA_ATMS
      - READ_DOMESTIC_SINGLE_REFUND
      - READ_DOMESTIC_SCHEDULED_REFUND
      - READ_DOMESTIC_PERIODIC_PAYMENT_REFUND
      - READ_INTERNATIONAL_SINGLE_REFUND
      - READ_INTERNATIONAL_SCHEDULED_REFUND
      - ACCOUNT_BENEFICIARIES
      - INITIATE_ONETIME_PRE_AUTHORISATION_PAYMENTS
      - INITIATE_ONETIME_PRE_AUTHORISATION_ACCOUNTS
      - INITIATE_ONETIME_PRE_AUTHORISATION
      - VARIABLE_RECURRING_PAYMENT_FUNDS_CONFIRMATION
    FilterAndSort:
      type: object
      properties:
        from:
          type: string
          description: __Optional__. The earliest date and time of resources / records that should be returned.
          format: date-time
        before:
          type: string
          description: __Optional__. The latest date and time of resources / records that should be returned.
          format: date-time
        limit:
          type: integer
          description: __Optional__. The maximum number of resources / records that should be returned.
          format: int32
        sort:
          $ref: '#/components/schemas/SortEnum'
        offset:
          type: integer
          format: int32
        cursor:
          type: string
    FilteredClientPayloadListInstitution:
      type: object
      properties:
        apiCall:
          $ref: '#/components/schemas/ApiCall'
        data:
          type: array
          items:
            $ref: '#/components/schemas/Institution'
        nextCursorHash:
          type: string
        nextLink:
          type: string
        pagingMap:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/FilterAndSort'
        totalCount:
          type: integer
          format: int64
    Institution:
      type: object
      description: Typically, a bank or business unit within a bank e.g. (AIB Business, AIB Ireland, AIB UK).
      properties:
        id:
          type: string
          description: Unique identifier for the `Institution`.
        name:
          type: string
          description: The friendly name of the `Institution`.
        fullName:
          type: string
          description: The full name of the `Institution`.
        countries:
          uniqueItems: true
          type: array
          description: An array of `Country` denoting which regions the `Institution` provides coverage for
          items:
            $ref: '#/components/schemas/Country'
        environmentType:
          $ref: '#/components/schemas/EnvironmentType'
        credentialsType:
          $ref: '#/components/schemas/CredentialsType'
        media:
          uniqueItems: true
          type: array
          description: Contains links to the logo and the icons for the `Institution`
          items:
            $ref: '#/components/schemas/Media'
        features:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/FeatureEnum'
    InstitutionError:
      type: object
      description: Raw error details provided by the `Institution`, when it was the error source.
      properties:
        errorMessage:
          type: string
          description: Textual description of the `Institution` error.
        httpStatusCode:
          type: integer
          description: Numeric HTTP status code associated with the `Institution` error.
          format: int32
    Media:
      type: object
      properties:
        source:
          type: string
          description: __Mandatory__. URL from where the media can be retrieved.
        type:
          type: string
          description: __Mandatory__. The type of media e.g. (logo, icon).
      description: Details of the media held for the `Institution`
    Next:
      type: object
      properties:
        from:
          type: string
          format: date-time
        before:
          type: string
          format: date-time
        limit:
          type: integer
          format: int32
        cursor:
          type: string
    Pagination:
      type: object
      properties:
        totalCount:
          type: integer
          format: int64
        self:
          $ref: '#/components/schemas/FilterAndSort'
        next:
          $ref: '#/components/schemas/Next'
    RawRequest:
      type: object
      properties:
        method:
          type: string
        url:
          type: string
        requestInstant:
          type: string
          format: date-time
        headers:
          type: object
          additionalProperties:
            type: string
        body:
          type: object
        bodyParameters:
          type: object
          additionalProperties:
            type: string
        startTime:
          type: string
          format: date-time
        startedAt:
          type: string
          format: date-time
          deprecated: true
    RawResponse:
      deprecated: true
      type: object
      description: '[DEPRECATED] Interaction (raw request and response) that occurred with the `Institution` in order to fulfil
        a request.'
      properties:
        request:
          $ref: '#/components/schemas/RawRequest'
        duration:
          type: string
          format: iso8601
        headers:
          type: object
          additionalProperties:
            type: string
        resultCode:
          type: integer
          format: int32
        result:
          type: object
    ResponseForwardedData:
      type: object
      properties:
        headers:
          type: object
          additionalProperties:
            type: string
        url:
          type: string
    ResponseListMeta:
      type: object
      properties:
        tracingId:
          type: string
        count:
          type: integer
          format: int32
        pagination:
          $ref: '#/components/schemas/Pagination'
    SortEnum:
      type: string
      description: The attribute on which resources / records returned should be sorted. Valid options for the sort parameter.
      enum:
      - date
      - -date
  securitySchemes:
    basicAuth:
      description: Use HTTP Basic Authentication with your Application ID as username and Application Secret as password.
        Manage credentials in the [Yapily Console](https://console.yapily.com/). See [Authentication](/api-reference/authentication)
        for details.
      scheme: basic
      type: http