---
title: "Sync bank key"
method: POST
path: "/v1/banking/bank_keys/{bank_key_id}/sync"
tags: ["Bank key"]
---

# Sync bank key

`POST /v1/banking/bank_keys/{bank_key_id}/sync`

## Request

- Base URL: `https://api.cardda.com`
- URL: `https://api.cardda.com/v1/banking/bank_keys/{bank_key_id}/sync`
- Auth: HTTP bearer

Enqueues a background job that re-fetches the bank accounts exposed by this
credential and refreshes their capability data. Use it to repopulate stale
account/permission information without deleting and recreating the key.

The job runs asynchronously — this endpoint only acknowledges the enqueue and
responds `202 Accepted`. Requests are debounced: if a sync was already enqueued
for this key within the last 30 seconds, the request is a no-op and the
response carries `enqueued: false` (still `202`). This protects the upstream
bank from rapid retries.

## Parameters

- `#/paths/~1v1~1banking~1bank_keys/get/parameters/0` (unresolved $ref)
- `#/paths/~1v1~1banking~1bank_keys~1%7Bbank_key_id%7D/get/parameters/1` (unresolved $ref)

## Response `202`

Sync acknowledged (enqueued, or skipped if debounced)

- object
  - `id` string, uuid, required: The id of the bank key.
  - `enqueued` boolean, required: `true` when a fresh sync job was enqueued. `false` when a sync for this key was already enqueued within the debounce window and this request was a no-op.

## Other responses

- `401`: Unauthorized
- `404`: Bank key not found

---

[API](https://skmtc.dev/cardda/apis/banking-api.md) - [All operations](https://skmtc.dev/cardda/apis/banking-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cardda/apis/banking-api/revisions/ff1aeb3fda8b?raw)
