---
title: "Retrieve a user connections"
method: GET
path: "/users/{userId}/connections"
tags: ["user connections"]
---

# Retrieve a user connections

`GET /users/{userId}/connections`

Requires **user:read** or **connection:read** scopes.

## Path parameters

- `userId` string, required

## Response `200`

Successful User Response

- object
  - `data` Connection[]
    - `id` string, required — Connection id composed of the bank id and unique connection id
    - `name` string, required — Name of the connection
    - `type` 'api' | 'legacy' | 'test' | 'zoopla' | 'mouseprice' | 'autotrader', required — Connection type
    - `connectedOn` string, date-time, required — The date the connection was created.
    - `lastUpdated` string, date-time — The date the connection was last successfully updated with live data from the provider. If this field is not returned it means the connection has never had a successful sync.
    - `lastSyncedAt` string, date-time — The latest date a sync to the connections was triggered. This date gets updated regardless of the sync being successful or not.
    - `expiresAt` string, date-time, nullable — The date the connection will expire.
    - `accountIds` string[], required — Account ids that belong to the connection.
    - `status` 'ok' | 'error' | 'never', required — Current status of the connection. On 'error' status please refer to the 'error' field for more details. On 'never' status the connection will not be able to sync ever again as the bank/provider has been permanently removed from the list of available connections.
    - `extendedStatus` 'expired' | 'stoppedSyncing', nullable — Extended status for the connection, **please note** more values could be added to this field.
    - `error` 'resync' | 'sync_error' | 'sync_partial' | 'mfa_required' | 'credentials_error', nullable — Error code when the connection has the error status
    - `userConsentedAt` string, date-time, nullable — The date the user last consented
    - `tppConsent` boolean — Indicates if a connection is suitable for the shortened reconsent journey instead of a full reauthentication with the ASPSP. Currently only applies to api connections.
    - `singleSyncOnly` boolean — Indicates if a connection will sync only once and will not sync again automatically without input from the user. In these cases the refresh flow or re auth should be used. Currently only applies to legacy connections.
    - `useMfa` boolean — Indicates if MFA authentication is required for this connection. Currently only applies to legacy connections.
  - `meta` object

## Other responses

- `401` — Unsuccessful Response - Not authorised - Missing authorization header - Invalid access Token
- `403` — Unsuccessful Response - Forbidden - Invalid scopes
- `404` — Unsuccessful Response - Resource Not found

---

[API](https://skmtc.net/moneyhubenterprise/apis/moneyhub-identity-service.md) · [All operations](https://skmtc.net/moneyhubenterprise/apis/moneyhub-identity-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/moneyhubenterprise/moneyhub-identity-service/revisions/8841721f7aae/schema)
