Once you’ve created a Quovo user, the next step is to link your end user to a specific financial institution. A Quovo connection is a representation of this link in Quovo’s system. It’s through this connection that Quovo establishes an interface with an institution and syncs the user’s account data. 
Connections are different than syncs. Connections represent a record linking a user to an institution, and our sync process actually updates the data for the user’s account. As a result, there are two separate endpoints to handle each, /connections and /sync.
quovo connections workflow

Creating a Connection

To create a connection, make a POST request to https://api.quovo.com/v3/users/{user_id}/connections and pass through an  institution_id  :
curl -X POST \
    -H "Authorization: Bearer a724809d37d0a21b7e9257f45cee416f5aec61993ab4b09e" \
    -H "Content-Type: application/json" \
    -d '{"institution_id": 1}' \
Your request will generate a unique   connection_id   that identifies this specific user-institution relationship. This  connection_id   is needed when you want to sync the connection or when you want to see all of the data for accounts under this connection in one request.

Retrieving Connection Details Post-Sync

Once you’ve completed a successful sync for this connection through the /sync endpoint—covered in detail in the next section—you can see all of your connections by making a GET request to https://api.quovo.com/v3/connections/{connection_id} and passing through a valid   connection_id  .
curl -X GET \
	-H "Authorization: Bearer a724809d37d0a21b7e9257f45cee416f5aec61993ab4b09e" \
You must have successfully synced the connection in order to retrieve updated account information.
You can also make a GET request to https://api.quovo.com/v3/connections/ to see all connections from all your users. The response will include the   id   for the connection, as well as information about the user and institution with whom its associated.
Along with the Quovo identifiers, there’s more information about the connection and sync. You can see the  last_sync  
 and  last_good_sync  , which are timestamps of the last attempted and successful sync, respectively;   config_instructions   that instruct steps a user may need to take at a financial institution to resolve a sync; and the connection  status  .
The /connections endpoint will return   is_oauth   to indicate if a specific connection must use OAuth to sync successfully.
For a full list of response fields, click here to see our reference docs.
Connection Statuses
Every connection on Quovo has a status, which indicates whether or not data was successfully retrieved during the last sync attempted. A “good” status means that data flow has been successful, but there are nongood statuses that you should understand as well.

Statuses that require user action are:

  • “incorrect_credentials” – the username or password provided for the user’s financial accounts are incorrect.
  • “challenges” – the connection requires additional multi-factor authentication (MFA) questions to be answered in order to be synced. Handling these challenges is addressed in this section.
  • “user_config” – the connection requires user action outside of Quovo to be completed. In most cases, the institution requires the user to login directly to their institution’s portal and resolve an issue. Common examples include accepting new terms of use or activating new account access features. Config instructions are institution-specific and can be found in the   config_instructions   field for a connection, which we covered here.
  • “resync” – this status applies when a connection must be resynced in order to complete, such as when a time-sensitive MFA question has expired.

Statuses that do not require user action:

  • “postponed” – sync has been paused due to delays, maintenance or institution issues. Quovo will retry the sync to see if it can be successfully pushed through.
  • “maintenance” – there were Quovo-side issues in syncing the account due to maintenance or upkeep of Quovo’s syncing servers.
  • “institution_unavailable” – the institution is currently unavailable for connecting, and Quovo cannot get data from it. After the institution becomes available again, Quovo will sync all the eligible connections with this status.
  • “no_accounts” – a connection was synced, but no accounts were found.
  • (null) – no sync has been attempted on the connection. You can resolve this by initiating a sync.
For statuses that do not require user action, Quovo will attempt to resync the account after the outstanding issues are resolved.