# Sync

This section documents the **sync provider modules** under `sync/`.

They are the low-level engine used by the [Orchestrator](/blueprint-architecture/orchestrator.md).

{% tabs %}
{% tab title="End users" %}
{% hint style="info" %}
If you want setup steps, use [Syncing](/getting-started/first-time-setup/what-do-you-need/syncing.md) and [Configure Pairs](/crosswatch/configure-pairs.md).
{% endhint %}

### What a “sync module” is

Each module exposes the same surface:

* `health()`
* `build_index(feature)`
* `add(feature, items)`
* `remove(feature, items)`

The orchestrator uses those to:

1. Build snapshots.
2. Diff snapshots.
3. Apply writes.

### Modules (in this section)

Open a module page when you’re debugging provider behavior or reading code paths.

Media servers:

* [\_mod\_PLEX](/blueprint-architecture/sync/_mod_plex.md)
* [\_mod\_JELLYFIN](/blueprint-architecture/sync/_mod_jellyfin.md)
* [\_mod\_EMBY](/blueprint-architecture/sync/_mod_emby.md)

Trackers:

* [\_mod\_TRAKT](/blueprint-architecture/sync/_mod_trakt.md)
* [\_mod\_SIMKL](/blueprint-architecture/sync/_mod_simkl.md)
* [\_mod\_MDBLIST](/blueprint-architecture/sync/_mod_mdblist.md)
* [\_mod\_ANILIST](/blueprint-architecture/sync/_mod_anilist.md)

Other:

* [\_mod\_TMDB](/blueprint-architecture/sync/_mod_tmdb.md) (TMDb account sync)
* [\_mod\_TAUTULLI](/blueprint-architecture/sync/_mod_tautulli.md) (history import)
* [\_mod\_CROSSWATCH](/blueprint-architecture/sync/_mod_crosswatch.md) (local backup)

### Related topics

* Feature semantics: [Engine-level features](/blueprint-architecture/sync/engine-level-features.md)
* Orchestrator internals: [Orchestrator](/blueprint-architecture/orchestrator.md)
  {% endtab %}

{% tab title="Power users" %}

### Code map

* `sync/_mod_*.py`
* `providers/<provider>/_watchlist.py`, `_history.py`, `_ratings.py` (feature implementations)

### How to read these module pages

Each `_mod_*` page documents:

* entry point (`sync/_mod_*.py`)
* feature submodules per provider
* capabilities (bidirectional, provides IDs, index semantics)
* state/shadow/unresolved files (when present)
* config namespaces and common keys

### Related blueprint docs

* Planning and applying: [One-way sync](/blueprint-architecture/orchestrator/one-way-sync.md), [Two-way sync](/blueprint-architecture/orchestrator/two-way-sync.md)
* Snapshot rules: [Snapshots](/blueprint-architecture/orchestrator/snapshots.md)
* Provider contract: [Provider contract](/blueprint-architecture/orchestrator/provider-contract.md)
* Real-world quirks: [Provider specifics](/blueprint-architecture/orchestrator/provider-specifics.md)
  {% endtab %}
  {% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.crosswatch.app/blueprint-architecture/sync.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
