Loading...
Loading...
A Connection in Quiltt serves as the primary way to ingest and sync financial data associated with one of your Profiles. Connections are typically created from a data source like Finicity, MX or Plaid, and provide access to account information, transactions and other data, depending on the provider and Connection configuration.
After a Connection is created, Quiltt will automatically ingest permissioned data, keep it in sync, and make its data available via the GraphQL API.
connectionLooks up a specific Connection by its ID:
query {
connection(id: "conn_12tgD1WgzFgsy9fqKpW9b3") {
id
provider
status
institution {
name
logo {
url
}
}
accounts {
id
name
}
}
}
{
"data": {
"connection": {
"id": "conn_12tgD1WgzFgsy9fqKpW9b3",
"provider": "MX",
"status": "SYNCED",
"institution": {
"name": "MX Bank",
"logo": {
"url": "https://cdn.quiltt.io/..."
}
},
"accounts": [
{
"id": "acct_12tgD1YBOnVPMw1oKlWj6b",
"name": "Mortgage"
},
{
"id": "acct_12tgD1YP33AwEvbdmSrcRY",
"name": "Credit Card"
},
...
]
},
}
}
connectionsLists the Connections associated with the Profile:
query {
connections {
id
provider
status
institution {
name
logo {
url
}
}
accounts {
id
name
}
}
}
{
"data": {
"connections": [
{
"id": "conn_12tgD1WgzFgsy9fqKpW9b3",
"provider": "MX",
"status": "SYNCED",
"institution": {
"name": "MX Bank",
"logo": {
"url": "https://cdn.quiltt.io/..."
}
},
"accounts": [
{
"id": "acct_12tgD1YBOnVPMw1oKlWj6b",
"name": "Mortgage"
},
{
"id": "acct_12tgD1YP33AwEvbdmSrcRY",
"name": "Credit Card"
}
]
},
{
"id": "conn_12tErBquPaGw6diZp8j801",
"provider": "FINICITY",
"status": "SYNCED",
"institution": {
"name": "FinBank",
"logo": {
"url": "https://cdn.quiltt.io/..."
}
},
"accounts": [
{
"id": "acct_12tErBqz5oPva4qlsZ9Po8",
"name": "Checking"
},
{
"id": "acct_12tErBqwklkvjw6AIpeExJ",
"name": "Savings"
}
]
}
]
}
}
The connections query supports various filtering options:
Filters for Connections with specific statuses:
query {
connections(filter: {status: [ERROR_REPAIRABLE, DISCONNECTED]}) {
id
provider
status
}
}
Filters for Connections from specific providers:
query {
connections(filter: {provider: [MX, FINICITY]}) {
id
provider
status
}
}
Filters for Connections with specific metadata, such as an internal ID:
query {
connections(filter: {metadata: { some_internal_id: "12345" }}) {
id
provider
status
metadata
}
}
Connection mutations allow you to disconnect or update individual Connections.
connectionDisconnectDisconnect a Connection from its provider, preventing Quiltt from syncing data:
mutation ConnectionDisconnect {
connectionDisconnect(input: { id: "conn_12tgD1WgzFgsy9fqKpW9b3" }) {
success
record {
id
}
}
}
{
"data": {
"connectionDisconnect": {
"success": true,
"record": {
"id": "conn_12tgD1WgzFgsy9fqKpW9b3"
}
}
}
}
connectionUpdateUpdates a Connection with new metadata. This is useful for storing additional information about the Connection, such as a user-friendly name, or an internal ID.
Note that updating a Connection's products requires the end-user going through the Connector Reconnect flow.
mutation ConnectionUpdate($input: ConnectionUpdateInput!) {
connectionUpdate(input: $input) {
success
record {
id
metadata
}
}
}
{
"input": {
"id": "conn_12tgD1WgzFgsy9fqKpW9b3",
"metadata": {
"nickname": "My Special Connection",
"internal_id": 12345,
"hiddenFromUI": true
}
}
}
{
"data": {
"connectionUpdate": {
"success": true,
"record": {
"id": "conn_12tgD1WgzFgsy9fqKpW9b3",
"metadata": {
"nickname": "My Special Connection",
"internal_id": 12345,
"hiddenFromUI": true
}
}
}
}
}
Connection subscriptions allow you to listen to Connection sync events.
connectionSyncedFires whenever an existing Connection finishes syncing:
subscription ConnectionSynced {
connectionSynced(connectionId: "conn_12tgD1WgzFgsy9fqKpW9b3") {
connection {
id
status
}
}
}
{
"data": {
"connectionSynced": {
"connection": {
"id": "conn_12tgD1WgzFgsy9fqKpW9b3",
"status": "ERROR_REPAIRABLE"
}
}
}
}
connection.createdThis event fires once a new Connection is created on a Profile.
connection.synced.successfulThis event fires when a Connection is successfully synced with the provider. The Connection status will resolve to SYNCED.
connection.synced.successful.initialThis event fires once after the first quick sync is completed on a Connection. The Connection status will resolve to SYNCED.
connection.synced.successful.historicalThis event fires after historical data is synced following a successful Connector session. This includes both initial connections and Reconnect flows. The event metadata includes startDate and endDate indicating the historical period that was synced. The Connection status will resolve to SYNCED.
connection.synced.errored.repairableThis event fires when a Connection becomes ERROR_REPAIRABLE and requires user action to resume syncing. Have the user complete the Connector Reconnect flow to resolve this error. The Connection status will resolve to ERROR_REPAIRABLE.
connection.synced.errored.institutionThis event fires when the provider is reporting an error with the connected Institution. The Connection status will resolve to ERROR_INSTITUTION.
connection.synced.errored.providerThis event fires when the Connection provider is reporting an error with the Connection. Inspect the Connection's Remote Data for more information. The Connection status will resolve to ERROR_PROVIDER.
connection.synced.errored.serviceThis event fires when an unexpected error occurs attempting to sync the Connection. Visit our Status page or contact Quiltt Support for more information. The Connection status will resolve to ERROR_SERVICE.
connection.disconnectedThis event fires when a Connection has been fully disconnected from the provider. The Connection status will resolve to DISCONNECTED. If the Connection has been deduplicated, it will be removed from the system.
Every Connection exposes a status field that reflects where it is in its sync lifecycle. Read it on the connection or connections queries, or subscribe to Connection webhooks to react to changes. The following table lists each status, what it means, and what to do when you see it.
| Status | Meaning | What to do |
|---|---|---|
INITIALIZING | Quiltt is setting up the Connection and will begin syncing soon. | Wait for the Connection to progress. Data is not available yet. |
SYNCING | The Connection is actively syncing data from the provider. | Wait for the sync to finish. The status resolves to SYNCED when it completes. |
SYNCED | The Connection is up to date with the provider. | No action needed. Data is available through the API. |
ERROR_REPAIRABLE | The Connection needs re-authentication before it can resume syncing. | See Troubleshooting Connection Errors. |
ERROR_INSTITUTION | The provider is reporting an error from the user's institution. | See Troubleshooting Connection Errors. |
ERROR_PROVIDER | The provider is reporting an error with the Connection. | See Troubleshooting Connection Errors. |
ERROR_SERVICE | Quiltt hit an internal error while syncing. The Connection retries automatically. | See Troubleshooting Connection Errors. |
DISCONNECTING | The Connection is being disconnected from its provider. | Wait for the disconnection to finish. |
DISCONNECTED | The Connection is fully disconnected. Existing data remains, but nothing new syncs. | Prompt the user through the Connector Reconnect flow to re-establish the Connection. |
A Connection can report SYNCED while transactions or balances are still missing — for example, when an institution connects but returns no data on the provider that served it. If a Connection stays in INITIALIZING, or reaches SYNCED without returning the data you expect, contact Quiltt Support with the Connection ID. Some institutions sync more reliably through a different provider, and Support can adjust the provider preference for an institution.
When Connections enter an error state, regular syncing will be interrupted and on-demand API calls like Balance Refreshes will fail until the Connection error is resolved. You can monitor the health of your connections by checking the Connection.status field in GraphQL or by subscribing to Connection webhooks.
Follow the below steps to troubleshoot and resolve Connection errors based on their status:
ERROR_REPAIRABLEERROR_INSTITUTIONHave the user confirm that they are:
If your Connector uses the Account Owners or Account Statements products, make sure the user confirms they have enrolled into Electronic Statements delivery.
ERROR_PROVIDERERROR_SERVICEWhen a Connection enters ERROR_INSTITUTION or ERROR_PROVIDER, the underlying data provider (such as Plaid, MX, or Finicity) often attaches its own error code — for example 14006, 170, or 2006. These codes are defined by the provider, not by Quiltt, so the same symptom can surface under different codes depending on which provider served the Connection.
To investigate a provider error code: