Skip to main content
Connections

Reconfirm the consent of a financial connection

When reconfirming consent, Synci will generate an authorization URL (auth_url). You should follow the authorization URL to activate the connection. Once the connection is authorized, Synci automatically fetches the available financial accounts. On an end user's own connection, a first balance and transaction sync then starts as soon as each account is discovered, which is before anything could have configured it: that first sync's depth therefore comes from this connection's max_historical_days (any value up to the institution's maximum is accepted here), not from an account's config.sync_start_date.

PUT
/finance/connections/{connectionId}/reauthorize

Platform partners. Accounts discovered on your connections are created with sync_auto off and nothing is fetched until you ask, because you configure each account after it appears. Send your account config (sync_start_date plus sync_auto: true), or call POST /finance/accounts/{id}/sync, and the first sync runs on your terms. Note that sync_start_date is the depth the backfill works toward rather than a filter on what you receive, so set it to the oldest date you want: history before it is never fetched.

Managed apps. Renewals for your users happen in the connection portal, not through this endpoint: called with a managed user's access token it answers 403 with code: "managed_connection_requires_portal". Mint a portal session (POST /managed/v1/users/{userId}/portal-sessions) with connection_id instead. The portal shows a short interlude and then starts the renewal of that connection by itself, and returns the user to your return_url with connection and status query parameters. Renewing keeps the connection id, its accounts and their history, and a connection.reauthorized webhook follows.

Authorizationstringheaderrequired

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

connectionIdintegerrequired

The financial connection ID

Body

application/json
access_valid_for_daysinteger | null

Also known as consent lifetime. The number of days Synci should be able to access accounts belonging to this connection. E.g. if this is set to 180 days, you will have to re-authenticate the connection every 180 days. Synci will email you when the expiry date is approaching. <br><br> Use the institutions endpoint (GET /finance/institutions) to find out the maximum access valid for days for an institution.

Required range: 1 <= x
integratorenum<string>

The provider a financial connection or account is sourced from: GOCARDLESS (EU/UK banks), AKAHU (NZ banks), ARRAY (US banks, via Array/Array), or SNAPTRADE (brokerages and crypto exchanges). UNKNOWN is used for accounts created manually via the API.

UNKNOWN <br/>
GOCARDLESS <br/>
AKAHU <br/>
ARRAY <br/> US banks. Serves depository, liability and investment accounts on one connection, and its transactions arrive already enriched. Connections cannot be created through the API: the consent flow runs as a JavaScript SDK embedded in the page, so there is no authorization URL to send anyone to, and they must be started from the Synci Dashboard or the connection portal.
SNAPTRADE <br/>
DEMO <br/> Synthetic provider backing Synci's demo banks. No upstream API: consent, accounts, balances and transactions are all generated locally, but they travel the same ProviderHandler / SyncHandler seams as a real provider so a demo connection exercises the real sync jobs, health accounting, expiry ladder, webhooks and transfer links.
Available options: UNKNOWN, GOCARDLESS, AKAHU, ARRAY, SNAPTRADE, DEMO
max_historical_daysinteger | null

The maximum number of days of historical data Synci should be able to fetch. Applies to all accounts belonging to this connection. <br><br> Use the institutions endpoint (GET /finance/institutions) to find out the maximum historical days for an institution.

Required range: 0 <= x
sync_balancesboolean | null

Response

application/json
bodynull