---
title: "Manual synchronization"
method: POST
path: "/ongoing/sync"
tags: ["Customizable Widget"]
---

# Manual synchronization

`POST /ongoing/sync`

Initiate a manual synchronization flow to fetch new data (e.g. transactions) for already connected accounts from the respective bank(s).

## Request body

- object
  - `state` string — A client-provided identifier that helps track a specific user's journey through the widget flow. When you initially create the widget session, you can set this value to any string that helps identify the user's context (e.g., a session ID, user ID, or transaction reference). When the user completes their interaction and is redirected back to your `redirect_uri`, this same state value is returned as a query parameter. This mechanism allows you to securely match the returning user with their original session and maintain context about who they are and what they were doing, particularly important in scenarios with multiple concurrent widget sessions.
  - `redirect_uri` string, url, required — The URL where users will be redirected after completing their interaction with the Widget. The redirect includes the following query parameters: * `state`: Your original state value passed during initialization * `success`: Boolean indicating whether the flow completed successfully * `cancel`: Boolean indicating if the user canceled the flow (only present when canceled) * `code`: Authorization code valid for 1 hour, used to obtain an access token (only present on successful completion) * `flow_id`: Unique identifier for accessing flow-specific resources * `failed_rules`: Comma separated list of rules which failed in the verification step. Only present on the Verify and Pay flow
  - `language` Language — unresolved $ref
  - `account_ids` string[], required — List of accounts to be synchronized. In case the list contains accounts which belong to different banks, the user will be guided through multiple synchronization processes.
  - `user_id` string, email, required — The email address of the user for which you want to synchronize the accounts provided in the `account_ids` field. This email address has to be the same as you specified during the initial ongoing synchronization flow.

## Response `201`

Widget link created

- object
  - `location` string, url, required — The location of the Widget UI to which the user should be directed. The location includes the WidgetToken as query parameter.
  - `id` string, uuid, required — ID of the created WidgetLink

## Other responses

- `400` — unresolved $ref
- `401` — unresolved $ref

---

[API](https://skmtc.net/qwist/apis/finx-api.md) · [All operations](https://skmtc.net/qwist/apis/finx-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/qwist/finx-api/revisions/b75f5c1aa39e/schema)
