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

# List Connections

> Canonical connection browse endpoint for public API clients. Returns connections visible to the authenticated principal. Results are ordered newest first.



## OpenAPI

````yaml /openapi.json get /v1/connections
openapi: 3.1.0
info:
  title: Waycore Bank Connections API
  description: >-
    Developer-first API for direct bank connections, accounts, and transactions.


    Design goals:

    - Flat records with minimal nesting.

    - Clear, bank-centric naming.

    - One canonical endpoint per resource.

    - Sparse fieldsets via `fields=`.

    - Historical browsing via `GET /transactions`.

    - Incremental ETL via `GET /transactions/sync`.

    - Discover supported institutions via `GET /institutions`.

    - Model downstream client businesses via `/entities` and explicit `entityId`
    ownership.


    Authentication:

    - Opaque API keys passed as `Authorization: Bearer <key>`.

    - Key format: `way_<environment>_<key_id>_<secret>`.

    - Keys are organization-bound, environment-bound (`live` or `test`),
    scope-carrying, and expiring.

    - Managed via the Waycore Console.
  version: 0.5.0
servers:
  - url: https://api.waycore.com
security: []
paths:
  /v1/connections:
    get:
      tags:
        - connections
      summary: List Connections
      description: >-
        Canonical connection browse endpoint for public API clients. Returns
        connections visible to the authenticated principal. Results are ordered
        newest first.
      operationId: list_connections_v1_connections_get
      parameters:
        - name: filters
          in: query
          required: true
          schema:
            $ref: '#/components/schemas/ConnectionListQuery'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConnectionsListResponse'
                type: object
                additionalProperties: true
                title: Response List Connections V1 Connections Get
        '400':
          description: >-
            Bad Request. `type` may be `invalid_request` for malformed query
            parameters or validation failures, or `invalid_cursor` when a list
            cursor is malformed or does not match the supplied query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
          description: Unauthorized
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
          description: Forbidden
        '429':
          description: >-
            Too Many Requests. Retry after the number of seconds in
            `Retry-After` when present, then retry the same request.
          headers:
            Retry-After:
              description: >-
                Number of seconds to wait before retrying, when rate limiting
                provides a specific backoff.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorResponse'
          description: Internal Server Error
      security:
        - apiKeyBearer:
            - connections:read
components:
  schemas:
    ConnectionListQuery:
      properties:
        cursor:
          anyOf:
            - type: string
            - type: 'null'
          title: Cursor
          description: Pagination cursor from a previous response.
        limit:
          type: integer
          maximum: 500
          minimum: 1
          title: Limit
          description: Maximum number of items to return.
          default: 100
        status:
          anyOf:
            - $ref: '#/components/schemas/ConnectionStatus'
            - type: 'null'
          description: Filter by connection status.
        institutionId:
          anyOf:
            - type: string
            - type: 'null'
          title: Institutionid
          description: Filter by institution identifier.
        entityId:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Entityid
          description: Filter by entity identifier.
      additionalProperties: false
      type: object
      title: ConnectionListQuery
    ConnectionsListResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ConnectionResource'
          type: array
          title: Data
        pagination:
          $ref: '#/components/schemas/app__connections__public__models__Pagination'
        meta:
          $ref: '#/components/schemas/app__connections__public__models__Meta'
      type: object
      required:
        - data
        - pagination
        - meta
      title: ConnectionsListResponse
    PublicErrorResponse:
      properties:
        type:
          title: Type
          type: string
        message:
          type: string
          title: Message
        requestId:
          anyOf:
            - type: string
            - type: 'null'
          title: Requestid
        details:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Details
      type: object
      required:
        - type
        - message
      title: PublicErrorResponse
    ConnectionStatus:
      type: string
      enum:
        - draft
        - pendingActivation
        - active
        - reauthRequired
        - errored
        - invalidConfig
        - paused
        - revoked
      title: ConnectionStatus
      description: >-
        Connection lifecycle status. `paused` means syncing has been
        intentionally suspended by the Waycore team, usually during a new
        version release or an active bug investigation. API read endpoints
        continue to work as expected during this period.
    ConnectionResource:
      oneOf:
        - $ref: '#/components/schemas/ActiveConnection'
        - $ref: '#/components/schemas/PendingConnection'
      discriminator:
        propertyName: kind
        mapping:
          ready:
            $ref: '#/components/schemas/ActiveConnection'
          setup:
            $ref: '#/components/schemas/PendingConnection'
    app__connections__public__models__Pagination:
      properties:
        hasMore:
          type: boolean
          title: Hasmore
        nextCursor:
          anyOf:
            - type: string
            - type: 'null'
          title: Nextcursor
      type: object
      required:
        - hasMore
      title: Pagination
    app__connections__public__models__Meta:
      properties:
        requestId:
          type: string
          title: Requestid
      type: object
      required:
        - requestId
      title: Meta
    ActiveConnection:
      properties:
        kind:
          type: string
          const: ready
          title: Kind
          description: Canonical connection record for a non-setup bank integration.
          default: ready
        id:
          type: string
          title: Id
          description: Stable, immutable identifier for the connection.
        entityId:
          type: string
          title: Entityid
          description: Stable identifier for the entity that owns this connection.
        portalUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Portalurl
          description: Normalized portal URL used as the connection anchor, when available.
        institutionId:
          type: string
          title: Institutionid
          description: Waycore's canonical institution identifier.
        institutionName:
          anyOf:
            - type: string
            - type: 'null'
          title: Institutionname
          description: Institution display name, when available.
        status:
          $ref: '#/components/schemas/ConnectionStatus'
          description: Current connection status.
        syncStatus:
          $ref: '#/components/schemas/SyncStatus'
          description: Current public sync status.
        createdAt:
          type: string
          format: date-time
          title: Createdat
          description: When the connection was created in this API.
        updatedAt:
          type: string
          format: date-time
          title: Updatedat
          description: When the connection last changed in this API.
        lastSyncedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Lastsyncedat
          description: >-
            When the connection was last synchronised successfully, when
            available.
        errorCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Errorcode
          description: Most recent connection error code, when available.
        errorMessage:
          anyOf:
            - type: string
            - type: 'null'
          title: Errormessage
          description: Most recent connection error message, when available.
        metadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Metadata
          description: Opaque client-defined metadata.
      type: object
      required:
        - id
        - entityId
        - institutionId
        - status
        - syncStatus
        - createdAt
        - updatedAt
      title: ActiveConnection
    PendingConnection:
      properties:
        kind:
          type: string
          const: setup
          title: Kind
          description: >-
            Delegated-user setup record for a connection that is not yet ready
            to operate.
          default: setup
        id:
          type: string
          title: Id
          description: Stable, immutable identifier for the connection.
        entityId:
          type: string
          title: Entityid
          description: Stable identifier for the entity that owns this connection.
        portalUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Portalurl
          description: Normalized portal URL used as the connection anchor, when available.
        institutionId:
          anyOf:
            - type: string
            - type: 'null'
          title: Institutionid
          description: Waycore's canonical institution identifier, when already known.
        institutionName:
          anyOf:
            - type: string
            - type: 'null'
          title: Institutionname
          description: Institution display name, when available.
        status:
          $ref: '#/components/schemas/ConnectionStatus'
          description: Current connection status.
        createdAt:
          type: string
          format: date-time
          title: Createdat
          description: When the connection was created in this API.
        updatedAt:
          type: string
          format: date-time
          title: Updatedat
          description: When the connection last changed in this API.
        errorCode:
          anyOf:
            - type: string
            - type: 'null'
          title: Errorcode
          description: Most recent connection error code, when available.
        errorMessage:
          anyOf:
            - type: string
            - type: 'null'
          title: Errormessage
          description: Most recent connection error message, when available.
        metadata:
          anyOf:
            - additionalProperties: true
              type: object
            - type: 'null'
          title: Metadata
          description: Opaque client-defined metadata.
        setup:
          $ref: '#/components/schemas/SetupState'
      type: object
      required:
        - id
        - entityId
        - status
        - createdAt
        - updatedAt
        - setup
      title: PendingConnection
    SyncStatus:
      type: string
      enum:
        - idle
        - syncing
      title: SyncStatus
    SetupState:
      properties:
        status:
          $ref: '#/components/schemas/ConnectionSetupStatus'
        instructions:
          $ref: '#/components/schemas/ConnectionSetupInstructions'
        credentialsPresent:
          type: boolean
          title: Credentialspresent
        actionRequiredBy:
          $ref: '#/components/schemas/ActionRequiredBy'
        nextAction:
          $ref: '#/components/schemas/NextAction'
      type: object
      required:
        - status
        - instructions
        - credentialsPresent
        - actionRequiredBy
        - nextAction
      title: SetupState
    ConnectionSetupStatus:
      type: string
      enum:
        - awaitingDelegatedUserCreation
        - pendingActivation
      title: ConnectionSetupStatus
    ConnectionSetupInstructions:
      properties:
        firstName:
          type: string
          title: Firstname
          default: Waycore
        lastName:
          type: string
          title: Lastname
          default: Service
        address:
          type: string
          title: Address
          default: 12 New Fetter Lane, London, United Kingdom, EC4A 1JP
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
        username:
          anyOf:
            - type: string
            - type: 'null'
          title: Username
        phoneNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Phonenumber
        emailProvisioningStatus:
          $ref: '#/components/schemas/SetupProvisioningStatus'
          default: pending
        phoneNumberProvisioningStatus:
          $ref: '#/components/schemas/SetupProvisioningStatus'
          default: pending
      additionalProperties: false
      type: object
      title: ConnectionSetupInstructions
    ActionRequiredBy:
      type: string
      enum:
        - endUser
        - integrator
        - waycore
        - none
      title: ActionRequiredBy
    NextAction:
      type: string
      enum:
        - createDelegatedUser
        - provideCredentials
        - activateConnection
        - none
      title: NextAction
    SetupProvisioningStatus:
      type: string
      enum:
        - pending
        - provisioned
      title: SetupProvisioningStatus
  securitySchemes:
    apiKeyBearer:
      type: http
      scheme: bearer
      bearerFormat: way_<environment>_<key_id>_<secret>
      description: >-
        Opaque API key passed as `Authorization: Bearer <key>`. Keys are
        organization-bound, environment-bound (`live` or `test`),
        scope-carrying, and expiring. Create and manage keys via the console.

````