Update Existing Connections
AnchorOverview
Due to changes in auth credentials, or changes from the provider, some connections will be left in a broken state where the user has to repair the connection.
The steps for repairing/updating a connection are very similar to the steps for creating a new connection. The only difference is that the connector initialize mutation will receive specific inputs that will configure the connection widget to open in update mode. Here are the steps for updating a connection:
- Call the
connector[IntegrationName]Initialize
mutation to initialize a connection widget for the integration (use arguments for update mode). - Open the connection with the data provided by the
connector[IntegrationName]Initialize
mutation. - Check connector status from
record.connectorStatus
from theconnector[IntegrationName]Initialize
mutation.- If the status is
CONTINUE
, then the connection has been successfully repaired. No user action is required. - If the status is
ACTION_REQUIRED
, open the connection widget and the user will reconnect their account to update the connection.
- If the status is
Each integration typically requires a specific set of fields to update a connection. See the sections for corresponding integration’s documentation:
Note: More connection integrations will become available in the future. If you are interested in integration that’s not generally available, please contact us here.
AnchorPlaid
For a complete guide to reconnecting broken connections on the client side with React and Apollo GraphQL, check our guide on How to Reconnect Broken Plaid Connections.
AnchorInitialize Plaid Link
The connectorPlaidInitialize
mutation is used to create a Link Token to configure an instance of Link.
The linkToken
generated by this mutation will be used for Plaid Link initialization.
Check out our guides on configuring Plaid Link with React or see Plaid’s Docs for more information.
mutation ConnectorPlaidInitialize($input: ConnectorPlaidInitializeInput) { connectorPlaidInitialize(input: $input) { success record { connectorStatus connectorToken expiration linkToken requestId } errors { code message } }}
AnchorConnectorPlaidInitializeInput
Autogenerated input type of ConnectorPlaidInitialize
Field | Type | Description |
---|---|---|
accountFilters | PlaidLinkTokenAccountFilters | By default, Link will provide limited account filtering: it will only display Institutions that are compatible with all products supplied in the products parameter of /link/token/create, and, if auth is specified in the products array, will also filter out accounts other than checking and savings accounts on the Account Select pane. You can further limit the accounts shown in Link by using account_filters to specify the account subtypes to be shown in Link. Only the specified subtypes will be shown. This filtering applies to both the Account Select view (if enabled) and the Institution Select view. Institutions that do not support the selected subtypes will be omitted from Link. To indicate that all subtypes should be shown, use the value “all”. If the account_filters filter is used, any account type for which a filter is not specified will be entirely omitted from Link. For a full list of valid types and subtypes, see the Account schema. |
androidPackageName | String | The name of your app’s Android package. Required if using the link_token to initialize Link on Android. When creating a link_token for initializing Link on other platforms, this field must be left blank. Any package name specified here must also be added to the Allowed Android package names setting on the developer dashboard. |
auth | PlaidLinkTokenCreateRequestAuth | Specifies options for initializing Link for use with the Auth product. This field is currently only required if using the Flexible Auth product (currently in closed beta). |
clientMutationId | String | A unique identifier for the client performing the mutation. |
clientName | String | The name of your application, as it should be displayed in Link. Maximum length of 30 characters. If a value longer than 30 characters is provided, Link will display “This Application” instead. Defaults to your Quiltt deployment’s branding. |
connectionId | ID | Used when launching Link in update mode, when completing the Same-day (manual) Micro-deposit flow, or (optionally) when initializing Link as part of the Payment Initiation (UK and Europe) flow. |
countryCodes | [String!] | An array of Plaid-supported country codes using ISO-3166-1 alpha-2 country code standard |
euConfig | PlaidLinkTokenEUConfig | Configuration parameters for EU flows |
features | ConnectionFeature! | |
language | String | The language that Link should be displayed in. Supported languages are: English (“en”) French (“fr”) Spanish (“es”) Dutch (“nl”) German(“de”). When using a Link customization, the language configured here must match the setting in the customization, or the customization will not be applied. |
linkCustomizationName | String | The name of the Link customization from the Plaid Dashboard to be applied to Link |
products | [String!] | List of products to use with Link |
update | PlaidLinkTokenCreateRequestUpdate | Specifies options for initializing Link for update mode. |
View static documentation on the GraphQL Explorer on your Dashboard for a complete list of typings.
AnchorConnectorPlaidInitializePayload
Autogenerated return type of ConnectorPlaidInitialize
Field | Type | Description |
---|---|---|
clientMutationId | String | A unique identifier for the client performing the mutation. |
errors | [PlaidAPIError!] | Plaid API Error |
record | PlaidConnector | |
success | Boolean! | Status of the mutation |
View static documentation on the GraphQL Explorer on your Dashboard for a complete list of typings.
AnchorUpdate Connection
After your user successfully completes the Plaid Link session,
call the connectorPlaidClose
mutation from Plaid Link’s onSuccess
callback, passing in the Quiltt connectorToken
, along with Plaid
Link’s metadata
and publicToken
.
mutation ConnectorPlaidClose($input: ConnectorPlaidCloseInput) { connectorPlaidClose(input: $input) { success record { id accounts { id name } institution { name logo } } errors { code message } }}
AnchorConnectorPlaidCloseInput
Autogenerated input type of connectorPlaidClose
Field | Type | Description |
---|---|---|
clientMutationId | String | A unique identifier for the client performing the mutation. |
connectorToken | String! | The connector_token string from Connector Initialization |
metadata | JSON! | The metadata object from Plaid Link’s onSuccess callback |
publicToken | String! | The public_token string from Plaid Link’s onSuccess callback |
View static documentation on the GraphQL Explorer on your Dashboard for a complete list of typings.
AnchorConnectorPlaidClosePayload
Autogenerated return type of connectorPlaidClose
Field | Type | Description |
---|---|---|
clientMutationId | String | A unique identifier for the client performing the mutation. |
errors | [PlaidAPIError!] | Plaid API Error |
record | ConnectionType | Connection |
success | Boolean! | Status of the mutation |
View static documentation on the GraphQL Explorer on your Dashboard for a complete list of typings.
AnchorUpdating Connection Metadata
Quiltt adds a metadata
field to the Connection
type.
This field is a JSON object that can be used to store any data you want.
A good use of the metadata
field is to store additional data about the
connection that wasn’t provided by the integration provider.
mutation ConnectionUpdate($input: ConnectionUpdateInput!) { connectionUpdate(input: $input) { errors { message } record { id metadata } success }}
AnchorConnectionUpdateInput
Autogenerated input type of ConnectionUpdate
Field | Type | Description |
---|---|---|
clientMutationId | String | A unique identifier for the client performing the mutation. |
id | ID! | ID of the connection |
metadata | JSON | Customizable metadata |
View static documentation on the GraphQL Explorer on your Dashboard for a complete list of typings.
AnchorConnectionUpdatePayload
Autogenerated return type of ConnectionUpdate
Field | Type | Description |
---|---|---|
clientMutationId | String | A unique identifier for the client performing the mutation. |
errors | [Error!] | List of errors from mutation |
record | ConnectionType | Updated Connection Information |
success | Boolean! | Status of the mutation |
View static documentation on the GraphQL Explorer on your Dashboard for a complete list of typings.