---
title: "Run ad-hoc sync"
method: POST
path: "/companies/{companyId}/connections/{connectionId}/bankFeedAccounts/{sourceAccountId}/managedBankFeeds/syncs"
tags: ["Managed bank feeds"]
---

# Run ad-hoc sync

`POST /companies/{companyId}/connections/{connectionId}/bankFeedAccounts/{sourceAccountId}/managedBankFeeds/syncs`

## Request

- Base URL: `https://api.codat.io`
- URL: `https://api.codat.io/companies/{companyId}/connections/{connectionId}/bankFeedAccounts/{sourceAccountId}/managedBankFeeds/syncs`
- Auth: API key in header `Authorization`

The _Run ad-hoc sync_ endpoint immediately runs a sync with a fetch period from the last successful sync to the execution time of the new sync.

A sync is a single execution that fetches bank transactions from a connected bank account and records them in the company's accounting software.

Use either the [_Get latest sync_](https://docs.codat.io/bank-feeds-api#/operations/get-latest-managed-bank-feed-sync) endpoint or the [_Get sync_](https://docs.codat.io/bank-feeds-api#/operations/fetch-managed-bank-feed-sync-by-id) endpoint to get the result of this sync.

## Response `201`

Created

- StartScheduledSyncResult: Represents the result of an ad-hoc sync request.
  - `syncId` string, uuid, required: The unique identifier for the created sync.

## Other responses

- `400`: The request made is not valid.
- `401`: Your API request was not properly authorized.
- `402`: An account limit has been exceeded. The type of limit is described in the error property: - You have exceeded the 50-company limit that applies to a Free plan. Delete any companies you no longer need and retry the request. - The requested sync schedule is not allowed. You requested an hourly sync schedule but this functionality is not included in the Free plan. - Your Free account is older than 365 days and has expired. Contact support@codat.io.
- `403`: You are using an outdated API key or a key not associated with that resource.
- `404`: One or more of the resources you referenced could not be found. This might be because your company or data connection id is wrong, or was already deleted.
- `409`: The data type's dataset has not been requested or is still syncing.
- `429`: Too many requests were made in a given amount of time. Wait a short period and then try again.
- `500`: There is a problem with our server. Please try again later.
- `503`: The Codat API is temporarily offline for maintenance. Please try again later.

## Changes

- **2025-05-13** `338f1f6ddb42`: 2 info
  - api operation id `run-managed-bank-feed-adhoc-sync` removed and replaced with `run-managed-bank-feed-ad-hoc-sync`
  - the response property `syncId` became required for the status `201`
- **2025-05-07** `e6db9c9af587`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/codatio/apis/bank-feeds/changes/companies/:companyId/connections/:connectionId/bankFeedAccounts/:sourceAccountId/managedBankFeeds/syncs/post.md)

---

[API](https://skmtc.dev/codatio/apis/bank-feeds.md) - [All operations](https://skmtc.dev/codatio/apis/bank-feeds/llms.txt) - [OpenAPI document](https://skmtc.dev/codatio/apis/bank-feeds/revisions/ffea4a4680c5?raw)
