---
title: "Request an out-of-cycle catalog sync."
method: POST
path: "/v1/connections/{id}/catalog/sync"
tags: ["connections"]
---

# Request an out-of-cycle catalog sync.

`POST /v1/connections/{id}/catalog/sync`

## Request

- Base URL: `http://localhost:8080`
- URL: `http://localhost:8080/v1/connections/{id}/catalog/sync`
- Auth: one of:
  - API key in cookie `dvt_session`
  - HTTP bearer

Marks a connection for sync on `jobs.CatalogSyncJob`'s next tick (A3,
DVT-1810) — does not drive the warehouse inline, and returns before the
sync completes. Requires `catalogSyncEnabled: true` (set it via `PATCH
/v1/connections/{id}` first); a connection that doesn't exist in this org,
or exists but has catalog sync disabled, both return `404` (the two cases
are intentionally indistinguishable). Admin or above (`connection:manage`) —
unlike the `GET` catalog read, this drives an out-of-band warehouse
credential decrypt on the caller's behalf.

## Response `202`

Sync requested; will run on the next background job tick.

## Other responses

- `401`: Missing, invalid, or expired session.
- `403`: The caller's role does not permit this action.
- `404`: Resource does not exist.

---

[API](https://skmtc.dev/dvt/apis/dvt-rest-api.md) · [All operations](https://skmtc.dev/dvt/apis/dvt-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/dvt/apis/dvt-rest-api/revisions/00016f504165?raw)
