---
title: "Sync institution from Plaid to database"
method: POST
path: "/api/institutions/sync"
tags: ["Institutions"]
---

# Sync institution from Plaid to database

`POST /api/institutions/sync`

Sync an institution from Plaid into the local DB. Idempotent: returns the existing row if already synced.

## Request body

- object
  - `institutionId` string, required

## Response `200`

Institution synced

- InstitutionDb
  - `createdAt` string, date-time, required
  - `id` string, uuid, required
  - `logo` string, nullable, required
  - `name` string, required
  - `oauth` boolean, required
  - `plaidInstitutionId` string, required
  - `primaryColor` string, nullable, required
  - `routingNumbers` string[], nullable, required
  - `status` string, nullable, required
  - `updatedAt` string, date-time, required
  - `url` string, nullable, required

## Other responses

- `401` — Unauthorized
- `422` — Validation failed
- `502` — Plaid upstream failed

---

[API](https://skmtc.net/cobaltpf/apis/cobalt-api.md) · [All operations](https://skmtc.net/cobaltpf/apis/cobalt-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cobaltpf/cobalt-api/versions/8ef0dfb5d23c/schema)
