Plaid Core Exchange with Synctera
What is Plaid Core Exchange?
Plaid Core Exchange is a way for financial institutions to share customers account information safely and securely with other financial institutions. This enables customers to effortlessly link their accounts at your fintech to thousands of financial institutions. While Plaid estimates Core Exchange integration typically takes 6-8 weeks, Synctera has done much of the integration for you, greatly reducing your effort.How does it work?
Plaid Core Exchange is a set of well-defined APIs and authentication methods which together control access to a customer financial data (accounts, transactions, etc.) and provide methods for Plaid to retrieve that data so it can be shared with the other financial institution. Synctera helps by limiting our Fintech’s integration scope to only the authentication piece. At the highest level, Plaid Core Exchange works as follows:1
A customer at another financial institution (FI) wants to link to their account at a Synctera hosted fintech
2
Plaid (via Synctera) makes an HTTP request to the fintech to authenticate the customer in their system
3
Synctera completes the linkage with Plaid
4
The FI receives the customer’s fintech account information
5
The FI can then perform a transfer (e.g. ACH) to/from the fintech account
Comparison with External Accounts
Synctera’s integration with Plaid Core Exchange is complementary to our External Accounts feature. As a fintech on the Synctera platform, our external accounts feature enables a customer using your app to link to their accounts on another financial institution, using either Plaid or Finicity. Our Plaid Core Exchange integration enables linking in the other direction: the customer can use the other financial institution’s app to link to their accounts on your system. Synctera’s Plaid Core Exchange integration supports the thousands of financial institutions that use Plaid for their outbound account linking, regardless of whether you use Plaid or Finicity for your outbound linking with our external accounts feature.Authentication Endpoint
To integrate with Synctera’s Plaid Core Exchange feature, you need to implement an authentication endpoint. You can choose the URL for this endpoint, and the Synctera operations team will record it in our platform, as well as the exact name you want your fintech to be listed as. This endpoint must handle a GET request that includes anauth_request_id
query parameter. Its purpose is to verify the customer’s identity, using a login page, one time password or whatever other method is appropriate for your service.
Upon successful authentication, the endpoint makes a POST request to the Synctera platform at /v1/fdx_auth_requests/authorize
to grant authorization to this auth_request_id
, using the following schema:
- auth_request_id: The unique identifier for this authentication attempt
- customer_id: The unique identifier for the authenticated customer within the Synctera platform
- status: The status of the authentication attempt. This can be either
GRANTED
,DENIED
orERROR
redirect_uri
property. Your authentication endpoint must then return a 302 Found
response with this URI to the initial authentication request. This will redirect the customer’s app (browser or mobile) so it can continue the account linking flow with Plaid.
Authentication Failures and Error Handling
If a customer fails to authenticate, you must call/v1/fdx_auth_requests/authorize
with a status of DENIED
. Similarly, if you encounter any errors, use a status of ERROR
. These will both provide you a redirect_uri
for you to redirect the customer to the Plaid failure page, terminating the auth flow.
In some error scenarios, the /v1/fdx_auth_requests/authorize
response will not include a redirect_uri
. In such cases, your authentication endpoint should return a generic error message page instead of the redirect response.
Authentication Flow Sequence Diagram
The following gives a more detailed view of the flow. In this example, the fintech registeredf.com/authorize
as their endopoint.
In this flow, Customer
represents the customer using the initiating Financial Institution’s app (browser or mobile).

The urls used in the above diagram (Plaid.com/auth.html) are for illustrative purposes only. Your system should treat them as generic variables that are supplied by the Synctera platform.
Example React Function for Granting Access
The following React code provides an example that:- handles the initial GET request
- displays a login page
- calls Synctera with GRANTED or DENIED
- redirects back to Plaid
Using our Sandbox Test endpoint
Our sandbox test endpoint, allows you to get a mocked version of the request that would be initiated from Plaid outlined in the sequence diagram from earlier. This allows you to test your implementation entirely encapsulated within the Synctera platform.How to use the sandbox test endpoint
pre-requisites:- You have a customer in your system that you want to test with
- Synctera support has registered your authentication endpoint in our platform.
- The customer’s browser is not automatically redirected to your authentication page, instead the sandbox test endpoint will return the redirect url in the GET response body.
- You can then copy/paste this url into your browser to simulate the customer’s browser being redirected to your authentication page, or build a simple UI to simulate this.
- the final redirect will be to our sandbox success page, rather than the Plaid success page.

The urls and identifiers used in the above diagram and example requests (example.com) are for illustrative purposes only. Your system should treat them as generic variables that are supplied by the Synctera platform.