> 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/synchronization/trackers/punchplay.md).

# PunchPlay

PunchPlay adapter notes for syncing watchlist, ratings, history, and progress.

PunchPlay can synchronize with CrossWatch as a source or target. It supports one-way and two-way pairs.

{% hint style="warning" %}
**PunchPlay support is experimental.** The adapter is new and may change as it is tested and improved.
{% endhint %}

### Supported features

| Feature    | Supported media                  | Read | Write |
| ---------- | -------------------------------- | ---- | ----- |
| Watchlist  | Movies, shows                    | Yes  | Yes   |
| Ratings    | Movies, shows, seasons, episodes | Yes  | Yes   |
| History    | Movies, episodes                 | Yes  | Yes   |
| Progress   | Movies, episodes                 | Yes  | Yes   |
| Collection | Movies, shows, seasons, episodes | Yes  | Yes   |

PunchPlay does not support playlist synchronization.

Collection sync is one-way only. PunchPlay can be a Collection source or target.

### Using PunchPlay in a pair

First, connect PunchPlay under **Settings** → **Authentication**.

You can then select PunchPlay when creating or editing a synchronization pair.

Examples:

`Plex → PunchPlay`

`PunchPlay → Trakt`

`SIMKL → PunchPlay`

`PunchPlay ↔ CrossWatch Tracker`

CrossWatch only shows features supported by both providers.

Start a new pair with **one-way synchronization** and one feature. Enable more features or two-way synchronization after confirming the results.

### Watchlist

PunchPlay Watchlist synchronization supports:

`Movies`

`Shows`

CrossWatch can add and remove items from the PunchPlay watchlist.

Seasons and episodes are not supported as Watchlist items.

### Ratings

PunchPlay Ratings synchronization supports:

`Movies`

`Shows`

`Seasons`

`Episodes`

PunchPlay uses ratings from **1 to 10**.

Ratings written to PunchPlay are stored as whole numbers. CrossWatch rounds ratings when required.

Ratings can also be removed when removal is enabled for the pair.

### History

PunchPlay History synchronization supports:

`Movies`

`Episodes`

CrossWatch preserves the watched timestamp when writing history to PunchPlay.

Shows and seasons are not written as standalone History entries.

History removals are supported when removal is enabled for the pair.

### Progress

PunchPlay supports Playback Progress synchronization for:

`Movies`

`Episodes`

This synchronizes unfinished playback positions with another provider that supports Progress.

Examples:

`Plex ↔ PunchPlay`

`Jellyfin ↔ PunchPlay`

`Emby ↔ PunchPlay`

Progress is separate from History. An unfinished position does not automatically mark an item watched.

### Matching and IDs

CrossWatch uses provider IDs whenever possible when synchronizing with PunchPlay.

PunchPlay supports these IDs for most operations:

`TMDb`

`IMDb`

`TVDb`

`MAL`

TMDb is the primary ID PunchPlay returns to CrossWatch.

Playback Progress uses TMDb, IMDb, or TVDb IDs.

For the best matching results, configure **TMDb Metadata** in CrossWatch.

### Deletes

PunchPlay detects and applies removals for Watchlist, Ratings, History, and Progress.

CrossWatch safety controls still apply.

CrossWatch only removes data when the feature and pair configuration allow it.

For a new PunchPlay pair, leave removals disabled until after a clean synchronization run.

### Profiles

PunchPlay supports CrossWatch Profiles.

When multiple PunchPlay accounts are connected, select the correct profile for each pair side.

Each profile is handled independently.

### Rate limits

CrossWatch automatically handles PunchPlay API pacing, batching, and retries.

Writes use batches where supported. CrossWatch slows requests when PunchPlay reports API limits.

Most users do not need to change PunchPlay rate-limit settings.

### Experimental status

The PunchPlay sync adapter is version `0.1` and remains experimental.

When reporting a reproducible sync issue, include the feature, pair direction, and relevant Events output.


---

# 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/synchronization/trackers/punchplay.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.
