---
title: "Sync integration"
method: POST
path: "/integrations/{id}/sync"
tags: ["Integrations"]
---

# Sync integration

`POST /integrations/{id}/sync`

Queues a manual re-sync for a connected integration - customers and revenue for a payment provider (Stripe, Polar, Paddle, Dodo, Creem, Chargebee, Whop), the user backfill for Supabase, or the event-history import for PostHog. The Supabase sync reads the project, schema, and table already configured for the integration and returns 400 when none is configured. For PostHog this re-runs the event-history import with the stored personal API key and is the supported way to retry a failed import; it restarts from the beginning, already-imported events dedupe, and returns 409 while an import is queued or syncing. Terminal BullMQ failures release the import for retry. Returns immediately; poll the integration to watch syncStatus. Other providers re-sync from the dashboard. Requires the integrations:manage scope.

## Path parameters

- `id` string, required

## Response `200`

Sync queued

- object
  - `success` boolean
  - `integrationId` string
  - `provider` string
  - `jobId` string, nullable
  - `syncStatus` string
  - `syncTarget` object, nullable — Supabase only - the source the backfill reads. Absent for providers whose sync has no configurable source.
    - `projectRef` string
    - `schema` string
    - `table` string
  - `message` string

## Other responses

- `400` — Provider does not support an API-triggered sync, the Supabase sync has no configured table, or the integration is disconnected
- `401` — Unauthorized
- `404` — Integration not found
- `409` — A sync is already in progress or bulk sync is disabled

---

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