summaryrefslogtreecommitdiff
path: root/docs/api.md
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-17 15:25:52 +0300
committerPaul Buetow <paul@buetow.org>2026-05-17 15:25:52 +0300
commit914bd7cd6aa14e839332a98d91c30b19865b0cf2 (patch)
tree02b11537237a204048589e14ed24938b805e42f7 /docs/api.md
parent3b24f0e1be832584d6550e8cc3e5d24329f66f90 (diff)
Restructure repo: move Go server into player-server/
Diffstat (limited to 'docs/api.md')
-rw-r--r--docs/api.md84
1 files changed, 0 insertions, 84 deletions
diff --git a/docs/api.md b/docs/api.md
deleted file mode 100644
index 0132300..0000000
--- a/docs/api.md
+++ /dev/null
@@ -1,84 +0,0 @@
-API Reference
-=============
-
-### Public
-
-| Method | Path | Description |
-|--------|------|-------------|
-| `POST` | `/api/bootstrap` | Create the first admin account |
-| `POST` | `/api/login` | Login |
-| `GET` | `/healthz` | Liveness probe (no DB) |
-| `GET` | `/readyz` | Readiness probe (DB ping) |
-| `GET` | `/s/{token}` | View a shared media item |
-| `GET` | `/s/{token}/stream` | Stream shared media |
-| `GET` | `/s/{token}/thumbnail` | Thumbnail for shared media |
-| `GET` | `/s/{token}/download` | Download shared media |
-
-### Session-required
-
-| Method | Path | Description |
-|--------|------|-------------|
-| `POST` | `/api/logout` | Logout |
-| `GET` | `/api/sets` | List sets |
-| `GET` | `/api/sets/{id}/browse` | Browse a set (folder navigation) |
-| `GET` | `/api/sets/{id}/cover` | Get set cover image |
-| `POST` | `/api/sets/{id}/cover` | Update set cover image |
-| `POST` | `/api/sets/{id}/upload` | Upload file to set |
-| `GET` | `/api/media` | List/search media (with filters) |
-| `GET` | `/api/media/{id}` | Get media details |
-| `GET` | `/api/media/{id}/stream` | Stream media (range support) |
-| `GET` | `/api/media/{id}/download` | Download original file |
-| `GET` | `/api/media/{id}/thumbnail` | Get thumbnail |
-| `POST` | `/api/media/{id}/thumbnail` | Regenerate thumbnail |
-| `POST` | `/api/media/{id}/favorite` | Toggle favorite |
-| `POST` | `/api/media/{id}/tags` | Add tag |
-| `DELETE` | `/api/media/{id}/tags/{tag}` | Remove tag |
-| `POST` | `/api/media/{id}/shares` | Create share link |
-| `GET` | `/api/media/{id}/shares` | List shares for a media item |
-| `GET` | `/api/media/{id}/notes` | Get note |
-| `POST` | `/api/media/{id}/notes` | Upsert note |
-| `DELETE` | `/api/media/{id}/notes` | Delete note |
-| `POST` | `/api/progress` | Save playback progress |
-| `DELETE` | `/api/media/{id}` | Soft-delete media |
-| `POST` | `/api/media/{id}/restore` | Restore soft-deleted media |
-| `GET` | `/api/shares` | List my shares |
-| `DELETE` | `/api/shares/{token}` | Revoke share |
-| `GET` | `/api/podcasts` | List podcasts |
-| `GET` | `/api/podcasts/{id}/episodes` | List episodes |
-| `POST` | `/api/podcasts/episodes/{id}/download` | Download episode to server |
-| `POST` | `/api/podcasts/episodes/{id}/complete` | Toggle episode listened |
-
-### Admin-only
-
-| Method | Path | Description |
-|--------|------|-------------|
-| `GET` | `/api/admin/users` | List users |
-| `POST` | `/api/admin/users` | Create user |
-| `DELETE` | `/api/admin/users/{id}` | Delete user |
-| `GET` | `/api/admin/permissions` | List permissions |
-| `POST` | `/api/admin/permissions` | Grant set permission |
-| `DELETE` | `/api/admin/permissions` | Revoke set permission |
-| `POST` | `/api/admin/rescan` | Trigger library rescan |
-| `GET` | `/api/admin/scan-progress` | Get scan progress |
-| `GET` | `/api/admin/trash` | List soft-deleted media |
-| `POST` | `/api/podcasts` | Subscribe to podcast feed |
-
-### Query parameters for `GET /api/media`
-
-| Parameter | Description |
-|-----------|-------------|
-| `search` | Plain text search on file name |
-| `set_id` | Filter by a single set ID |
-| `set_ids` | Filter by comma-separated set IDs |
-| `type` | Filter by media type (e.g. `video`, `audio`, `image`) |
-| `favorites` | `true` or `1` to show favorites only |
-| `tags` | Comma-separated tag names |
-| `min_duration` | Minimum duration in minutes |
-| `max_duration` | Maximum duration in minutes |
-| `filesize_min` | Minimum file size in MB |
-| `filesize_max` | Maximum file size in MB |
-| `sort` | Sort order (e.g. `random`) |
-| `limit` | Page size |
-| `offset` | Page offset |
-| `folder` | Filter to a specific folder path |
-| `parent` | Filter to items within a parent folder | \ No newline at end of file