Skip to main content
A sync run is one execution of a connector’s sync logic — pull new items from the provider, normalize them, embed them, and store them.

List sync runs

Requires sync:read. Returns recent runs for the organization, newest first.
string
queued → running → succeeded | failed.
integer
How many source items the provider returned for this run.
integer
How many were actually new (or updated) and stored. The difference is items filtered out (already seen, archived, etc.).
string | null
Surfaced from the underlying provider/connector error. Repo passes through provider error messages verbatim where possible.

Trigger a sync run

Requires sync:write.
uuid
required
The source/connector to sync.
boolean
default:"false"
If true, discard the sync cursor and re-ingest every source item. Useful after a schema change or to backfill missing access policies. Slower and uses more provider API quota.
If a sync run is already queued or running for this connector, the response returns the existing run with alreadyActive: true (HTTP 202). Repo enforces “at most one active run per connector” at the database level via a unique partial index — you can’t accidentally double-queue.