> For the complete documentation index, see [llms.txt](https://wiki.crosswatch.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.crosswatch.app/crosswatch/settings/connections/media-servers/silo.md).

# Silo

Connect Silo to synchronize household watchlists, ratings, history, progress, and playback activity.

{% tabs %}
{% tab title="End users" %}
{% hint style="warning" %}
Silo support is **experimental**.\
Silo remains pre-release. Its API can change before version 1.0.
{% endhint %}

<figure><img src="https://565675962-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F3rh5THg1PdhVsBt3GALo%2Fuploads%2FkonVPs3TGxQG6cXKPDDy%2Fimage.png?alt=media&amp;token=f5f6a67f-cc2a-4812-9ecb-f1f98aa092aa" alt=""><figcaption></figcaption></figure>

### What CrossWatch can sync

**Read** brings data into CrossWatch; **Write** sends changes to this provider.

| Feature    | Read | Write | Notes                                                                                     |
| ---------- | ---- | ----- | ----------------------------------------------------------------------------------------- |
| Watchlist  | Yes  | Yes   | Movies and shows. Titles outside the library require Silo Requests.                       |
| History    | Yes  | Yes   | Library movies and episodes; no separate rewatch events.                                  |
| Ratings    | Yes  | Yes   | Movies and shows; mapped to Silo stars.                                                   |
| Progress   | Yes  | Yes   | Resume positions for library movies and episodes.                                         |
| Playlists  | Yes  | Yes   | Silo collections and Favorites. Smart and shared collections are read-only.               |
| Collection | Yes  | No    | Read-only library inventory: movies, shows and episodes. Named collections use Playlists. |

**Live scrobbling:** Watcher source and scrobble destination. Native webhook input is unsupported.

See the [synchronization guide](/crosswatch/settings/synchronization/media-servers/silo.md) for matching rules and feature restrictions.

### Connect Silo

1. Open **Silo** and select the **Authentication** tab.
2. Enter the **Server URL**, such as `http://silo.local:8090`.
3. Select **Connect Silo**.
4. CrossWatch displays a code. Select **Open Silo activate page**.
5. Sign in to Silo and approve the code.
6. Back in CrossWatch, select a household profile under **Silo profile**.
7. Enter the **Profile PIN**, if the profile uses one.
8. Select **Save**.

CrossWatch never receives your Silo password. It does not store profile PINs.

{% hint style="info" %}
Enable device sign-in in the Silo admin settings. Otherwise, CrossWatch reports that device sign-in is disabled.
{% endhint %}

### Silo household profiles

Each Silo account can contain several household profiles. Profiles keep separate watchlists, ratings, history, and progress.

* **Connected profile** — the profile selected during connection.
* **Other household profiles** — the remaining profiles on the same Silo account.

If the Silo account has only one profile and it has no PIN, CrossWatch selects it automatically. Otherwise, choose the profile to use.

#### Add profiles to a connection

1. Open **Silo** and select the **Identities** tab.
2. Select each household profile to include.
3. Enter the PIN once for every protected profile.
4. Select **Save**.

CrossWatch validates a PIN with Silo. It only stores the profile token Silo returns.

In a sync pair, open **Media servers** and enable **Identities**. Link each selected Silo profile to the person on the other server, then save. For a Watcher route, enable **Identities** on the **Route** tab. Matching names provide suggestions; only saved links sync. See [Multiple media server users](/crosswatch/settings/connections/media-servers/multiple-media-server-users.md).

Selected profiles support:

* ✅ **Watchlist**, **ratings**, **history**, and **progress**
* ✅ **Collection** reads the library inventory; named collections and Favorites use **Playlists**
* ✅ **Watcher** and **scrobble** routes

{% hint style="warning" %}
Changing a Silo PIN invalidates its stored token. CrossWatch pauses that profile until you enter the new PIN.
{% endhint %}

You can also create a separate CrossWatch connection for each household profile.

### What to know

* **Library only.** Items must exist in your Silo library. Watchlist titles outside it require Silo **Requests**.
* **Ratings.** Silo supports one to five stars for movies and shows. CrossWatch maps 7/10 to four stars.
* **History.** An unwatched Silo title suppresses its older watches. CrossWatch marks these records unresolved.
* **Finished shows.** Silo hides completed shows from its watchlist. CrossWatch preserves them.
* **Session.** Silo sessions last 30 days. CrossWatch renews active sessions.
  {% endtab %}

{% tab title="Power users" %}

### Configuration keys

Silo settings use the `silo.*` prefix.

* `silo.server_url`
* `silo.verify_ssl`
* `silo.access_token` and `silo.refresh_token`
* `silo.profile_id` and `silo.profile_name`
* `silo.profile_token` for PIN-protected profiles
* `silo.sync_users` for selected household profiles

### API

CrossWatch uses the Silo `/api/v2` API. Data requests include `X-Profile-Id`. Protected profiles also use `X-Profile-Token`.

### Related reference

{% content-ref url="/pages/n6LWZk2H6QOtQdNneQFr" %}
[Multiple media server users](/crosswatch/settings/connections/media-servers/multiple-media-server-users.md)
{% endcontent-ref %}

{% content-ref url="/pages/TJM05MdiN6AWdTM1Hpue" %}
[Silo](/crosswatch/settings/synchronization/media-servers/silo.md)
{% endcontent-ref %}
{% endtab %}
{% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://wiki.crosswatch.app/crosswatch/settings/connections/media-servers/silo.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
