> 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/main-dashboard/navigation/playback.md).

# Playback

Playback shows unfinished movies and episodes from connected providers.

Use it to review, edit, complete, or remove resume records.

{% hint style="info" %}
Playback is available in **v0.9.23 and later**.
{% endhint %}

<figure><img src="/files/NadQxdWTJiHlftRhbukA" alt=""><figcaption></figcaption></figure>

{% tabs %}
{% tab title="End users" %}

### What it shows

Each card can show:

* the movie or episode
* current progress
* time remaining
* when playback last changed
* provider badges

When **All Providers** is selected, CrossWatch can combine matching records into one card.

### What you can do

Use the toolbar to:

* search
* filter by provider, type, progress, age, or rating
* change sorting

Use the card actions to:

* **Edit Progress**
* **Mark as Watched**
* **Remove Progress**

You can also select multiple cards and run bulk actions.

### Important behavior

* **Edit Progress** accepts `2` through `79` percent.
* Use **Mark as Watched** for completed items.
* **Remove Progress** deletes the resume record only.
* On **Plex**, removing progress can also affect watched state.

### Refresh and results

**Refresh** requests current provider data again.

One slow provider does not block the others.

Playback can still show partial results.

### Playback vs Progress

**Playback** shows the current provider state.

**Progress Sync** stores state only when a pair runs.

Use [Progress](/crosswatch/settings/configure-pairs/features/progress.md) for pair-based resume syncing.

Use the editor for the last stored sync state.

### Troubleshooting

If nothing appears:

* confirm the provider is connected
* confirm it is enabled in Playback settings
* use **Refresh**

If **Edit Progress** is missing, the record usually cannot be updated or has no known duration.
{% endtab %}

{% tab title="Power users" %}

### Supported providers

Playback supports:

* **Trakt**
* **SIMKL**
* **MDBList**
* **PublicMetaDB**
* **Plex**
* **Emby**
* **Jellyfin**
* **Nuvio**

All supported providers can read playback records.

Write support depends on the provider and record data.

### Combining logic

With **All Providers**, CrossWatch groups matching records when possible.

If no strong media key exists, fallback matching uses title and progress details.

Records can stay separate when identifiers are weak or progress differs too much.

### Settings

Playback settings let you:

* include or exclude provider profiles
* change **Slow provider timeout**

Timeout accepts `3` through `60` seconds.

The default is `12`.

### Advanced notes

* CrossWatch queries enabled providers in parallel.
* Up to six provider requests run at once.
* **Select All Filtered Results** loads up to `250` results.
* Saving Playback settings clears the Playback cache.

<details>

<summary>Config and API details</summary>

Playback settings are stored in `config.json` under `playback_progress`.

Useful endpoints:

```
GET /api/playback_progress/providers
GET /api/playback_progress/settings
GET /api/playback_progress/items
POST /api/playback_progress/settings
POST /api/playback_progress/actions/remove
POST /api/playback_progress/actions/mark_watched
POST /api/playback_progress/actions/update_progress
POST /api/playback_progress/actions/bulk
```

The update action accepts only `2` through `79` percent.

</details>

### Related

* Resume syncing between servers: [Progress](/crosswatch/settings/configure-pairs/features/progress.md)
* Real-time playback handling: [Scrobble](/crosswatch/settings/scrobbler.md)
* Main page overview: [Main dashboard](/crosswatch/main-dashboard.md)
* UI overview: [Navigation](/crosswatch/main-dashboard/navigation.md)
  {% 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 dynamically by asking a question.

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

```
GET https://wiki.crosswatch.app/crosswatch/main-dashboard/navigation/playback.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
