Get paused playback sessions for every type
Returns the user’s paused playback sessions across all types (movies, shows, anime). For a single type see GET /sync/playback/{type}.
Useful for “Continue Watching” rails that mix types.
Already-watched items can appear here
A paused playback is returned even when the user has already finished that title, as long as the pause happened after they finished it. That is a re-viewing in progress, not stale data, and hide_watched=true (the default) deliberately does not filter it out.
So a Continue Watching row built from this endpoint can contain a movie or episode the user has completed before. If your UI also shows a “watched” checkmark, expect both to be true at once — show the resume position anyway.
hide_watched=true only removes playbacks that were overtaken: paused first, then marked watched from somewhere else. Those are genuine leftovers.
This changed in August 2026. Previously a completed movie, or the exact episode the watchlist last pointed at, was hidden regardless of when it was watched, which meant re-viewings never showed up.
Authorizations
Preferred form: your client_id as a URL query parameter on every request. Self-describing in logs and curl commands. See Headers and required parameters.
A user access_token, sent as Authorization: Bearer .... Required for endpoints that read or modify the user's library, scrobble session, ratings, settings, or playbacks. Every flow returns the same kind of token. See Set up authentication.
Headers
Descriptive identifier for your app, ideally name/version. Examples: PlexMediaServer/1.43.1.10540, kodi-simkl/0.9.2, MyApp/2.4.1 (https://myapp.com).
Query Parameters
Slice your result to the first N items. Default: 10000
Controls whether playbacks for items the user has already finished are filtered out.
true (default) hides a paused playback only when the item was watched at or after the moment it was paused — a stale leftover, e.g. the user paused at 40% and then marked the whole thing watched from another app.
It does not hide a playback that was paused after the item was finished. That is a re-viewing in progress, and it is returned even with hide_watched=true. A user who finished a film years ago and is 45% into watching it again gets that playback back in the list, which is what a Continue Watching row should show.
false skips the check entirely, including the stale-leftover case.
One edge case: for items whose watch date is the "watched, date unknown" placeholder there is no date to compare, so true falls back to hiding completed movies and the specific episode the watchlist last pointed at.
true, false Filter sessions from this date
Filter sessions until this date
Your client_id from your Simkl developer settings. Required on every request.
Short, lowercase identifier for your app (e.g. plex-scrobbler, kodi-bridge). Helps Simkl identify which apps are using the API.
Your app's current version (e.g. 1.0, 2.4.1). Helps Simkl debug issues you report.
Response
OK
Internal playback session ID. Use to delete via DELETE /sync/playback/{id}.
Saved progress percentage 0–100.
Standard movie object. See the Standard Media Objects guide.
Standard show object. May include nested seasons/episodes for partial sync.
Standard anime object. Like Show, but may include anime_type. Episode numbering follows AniDB.
Episode reference. Use season + number, or ids.