You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/cli-getting-started.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ group: CLI
5
5
6
6
# CLI Getting Started
7
7
8
-
TsArr includes a command-line interface for interacting with Servarr services directly from your terminal.
8
+
TsArr includes a command-line interface for interacting with your media stack directly from your terminal — Radarr, Sonarr, Lidarr, Readarr, Prowlarr, Bazarr, qBittorrent, Seerr and Jellyfin.
Copy file name to clipboardExpand all lines: docs/usage.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Usage Guide
2
2
3
-
This guide provides comprehensive documentation for using the TsArr TypeScript SDK to interact with Servarr APIs.
3
+
This guide provides comprehensive documentation for using the TsArr TypeScript SDK to interact with Radarr, Sonarr, Lidarr, Readarr, Prowlarr, Bazarr, qBittorrent, Seerr and Jellyfin.
4
4
5
5
## Installation
6
6
@@ -365,6 +365,10 @@ const devRadarr = new RadarrClient({
365
365
});
366
366
```
367
367
368
+
Every client owns its configuration, so instances of the same service never
369
+
interfere with each other — `prodRadarr` keeps its base URL and API key when
370
+
`devRadarr` is constructed. The same holds for `updateConfig()` on one instance.
Copy file name to clipboardExpand all lines: package.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -93,7 +93,7 @@
93
93
"types": "./dist/clients/jellyfin-types.d.ts"
94
94
}
95
95
},
96
-
"description": "Type-safe TypeScript SDK for Servarr APIs (Radarr, Sonarr, etc.)",
96
+
"description": "Type-safe TypeScript SDK and CLI for your media stack (Radarr, Sonarr, Lidarr, Readarr, Prowlarr, Bazarr, qBittorrent, Seerr, Jellyfin)",
Copy file name to clipboardExpand all lines: skills/tsarr/SKILL.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
name: tsarr
3
-
description: Manage home media services through TsArr from OpenClaw. Use for Radarr, Sonarr, Lidarr, Readarr, Prowlarr, Bazarr, qBittorrent, Seerr, and Jellyfin tasks such as checking health, inspecting queues and history, browsing libraries, searching, adding, editing, deleting items, viewing profiles, tags, and root folders, managing torrents, managing media requests, triggering library scans, reading watched state, checking active playback sessions, and checking TsArr configuration.
3
+
description: Manage home media services through TsArr from OpenClaw. Use for Radarr, Sonarr, Lidarr, Readarr, Prowlarr, Bazarr, qBittorrent, Seerr, and Jellyfin tasks such as checking health, inspecting queues and history, browsing libraries, searching, adding, editing, deleting items, viewing profiles, tags, and root folders, managing torrents, managing media requests, triggering library scans, reading watched state, checking active playback sessions, fixing missing or poor cover images, and checking TsArr configuration.
Copy file name to clipboardExpand all lines: skills/tsarr/references/service-cheatsheet.md
+58-21Lines changed: 58 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -162,36 +162,73 @@ Seerr uses API key authentication. Configure via `tsarr config init` or environm
162
162
163
163
## Jellyfin
164
164
165
-
Use for media server tasks: trigger library scans, read watched state, and check who is streaming.
165
+
Use for media server tasks: trigger library scans, read watched state, see who is streaming, control playback, manage playlists and collections, and fix artwork.
166
+
167
+
Full command surface:
166
168
167
169
```bash
168
-
tsarr jellyfin system status --json
169
170
tsarr jellyfin library refresh
170
-
tsarr jellyfin library folders --json
171
-
tsarr jellyfin item list --type Movie --json
172
-
tsarr jellyfin item list --search "The Matrix" --limit 10 --json
173
-
tsarr jellyfin item counts --json
174
-
tsarr jellyfin item get --id <itemId> --user <userId> --json
175
-
tsarr jellyfin watched status --id <itemId> --user <userId> --json
176
-
tsarr jellyfin watched mark --id <itemId> --user <userId>
Jellyfin uses API key authentication. Configure via `tsarr config init` or environment variables `TSARR_JELLYFIN_URL` and `TSARR_JELLYFIN_API_KEY`. Get a key from Dashboard -> Advanced -> API Keys.
221
+
Add `--json` to any command when extracting values.
189
222
190
-
Playlists are user-owned: `playlist create`, `items` and `add` all require `--user`. There is no `playlist get` or `playlist move` — those Jellyfin endpoints need a user-context token and reject API keys; use `tsarr jellyfin item get --id <playlistId> --user <userId>` instead.
223
+
Jellyfin uses API key authentication. Configure via `tsarr config init` or environment variables `TSARR_JELLYFIN_URL` and `TSARR_JELLYFIN_API_KEY`. Get a key from Dashboard -> Advanced -> API Keys.
191
224
192
225
**Important:** Jellyfin returns PascalCase JSON (`Id`, `Name`, `Type`, `Items`), unlike the camelCase used by the Servarr services. Use PascalCase when parsing output or passing `--select`.
193
226
194
-
`--user <userId>` is **required** on `item get`, `item latest`, `item nextup`, `item resume` and all `watched` commands. Jellyfin's spec marks it optional but the server returns 400 without it. Get IDs from `tsarr jellyfin user list --json`.
227
+
`--user <userId>` is **required** on `item get`, `item latest`, `item nextup`, `item resume` and all `watched` and `playlist` commands. Jellyfin's spec marks it optional but the server returns 400 without it. Get IDs from `tsarr jellyfin user list --json`.
228
+
229
+
There is no `playlist get` or `playlist move` — those Jellyfin endpoints need a user-context token and reject API keys; use `tsarr jellyfin item get --id <playlistId> --user <userId>` instead.
230
+
231
+
See "Fix a missing or poor cover image" in common-workflows.md for the artwork workflow.
0 commit comments