Files
ersatztv/docs/endpoint-index.md
T
timothyandClaude Opus 4.8 cf85bf3093
Build ErsatzTV Image / Build & test (.NET) (pull_request) Successful in 4m27s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (pull_request) Successful in 4m45s
Build ErsatzTV Image / Build & push image (amd64) (pull_request) Has been skipped
docs: regenerate endpoint-index after merging main (includes GET collection items) (#155)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 18:28:20 +02:00

352 lines
16 KiB
Markdown

# API endpoint index
*Generated by `scripts/generate-endpoint-index.py` from `ErsatzTV/wwwroot/openapi/v1.json`. Do not edit by hand -- regenerated by `scripts/update-openapi.sh`.*
114 endpoints, 176 operations.
## Artists
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/artists/{id}` | GetArtistById | Get an artist by id |
## Artwork
| Method | Path | Operation | Summary |
|---|---|---|---|
| POST | `/api/artwork/uploads` | UploadArtwork | Upload channel logo or watermark artwork |
## Blocks
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/blocks` | | Get all blocks |
| POST | `/api/blocks` | | Create a block |
| GET | `/api/blocks/groups` | GetBlockGroups | Get all block groups |
| POST | `/api/blocks/groups` | | Create a block group |
| DELETE | `/api/blocks/groups/{id}` | | Delete a block group |
| DELETE | `/api/blocks/{id}` | | Delete a block |
| GET | `/api/blocks/{id}` | GetBlockById | Get a block by id |
| PUT | `/api/blocks/{id}` | | Replace a block and its items |
| POST | `/api/blocks/{id}/copy` | | Copy a block |
| GET | `/api/blocks/{id}/items` | | Get block items |
| POST | `/api/blocks/{id}/preview` | | Preview a block playout |
## Channel
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/channels` | | |
## Channel Templates
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/channel-templates` | GetChannelTemplates | Get all channel templates |
| POST | `/api/channel-templates` | CreateChannelTemplate | Create a channel template |
| GET | `/api/channel-templates/default` | GetDefaultChannelTemplate | Get the default channel template |
| PUT | `/api/channel-templates/default/{id}` | SetDefaultChannelTemplate | Set the default channel template |
| DELETE | `/api/channel-templates/{id}` | DeleteChannelTemplate | Delete a channel template |
| GET | `/api/channel-templates/{id}` | GetChannelTemplateById | Get a channel template by id |
| PUT | `/api/channel-templates/{id}` | UpdateChannelTemplate | Update a channel template |
## Channels
| Method | Path | Operation | Summary |
|---|---|---|---|
| POST | `/api/channels` | | Create a channel |
| POST | `/api/channels/bulk/delete` | | Delete channels |
| POST | `/api/channels/bulk/group` | | Move channels to a group |
| POST | `/api/channels/bulk/renumber` | | Renumber channels |
| POST | `/api/channels/from-lineup` | CreateChannelFromLineup | Create a channel from a library lineup |
| GET | `/api/channels/state` | | Get channel runtime state |
| POST | `/api/channels/{channelNumber}/playout/reset` | | Reset channel playout |
| DELETE | `/api/channels/{id}` | | Delete a channel |
| GET | `/api/channels/{id}` | GetChannelById | Get a channel by id |
| PUT | `/api/channels/{id}` | | Update a channel |
| GET | `/api/guide` | | Get the JSON channel guide (EPG) |
## Collections
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/collections` | | Get all collections |
| POST | `/api/collections` | | Create a collection |
| DELETE | `/api/collections/{id}` | | Delete a collection |
| GET | `/api/collections/{id}` | GetCollectionById | Get a collection by id |
| PUT | `/api/collections/{id}` | | Update a collection |
| GET | `/api/collections/{id}/items` | GetCollectionItems | Get the items in a manual collection |
| POST | `/api/collections/{id}/items` | | Add items to a collection |
| DELETE | `/api/collections/{id}/items/{mediaItemId}` | | Remove an item from a collection |
## DecoTemplates
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/deco-templates` | | Get all deco templates |
| POST | `/api/deco-templates` | | Create a deco template |
| GET | `/api/deco-templates/groups` | GetDecoTemplateGroups | Get all deco template groups |
| POST | `/api/deco-templates/groups` | | Create a deco template group |
| DELETE | `/api/deco-templates/groups/{id}` | | Delete a deco template group |
| DELETE | `/api/deco-templates/{id}` | | Delete a deco template |
| GET | `/api/deco-templates/{id}` | GetDecoTemplateById | Get a deco template by id |
| PUT | `/api/deco-templates/{id}` | | Replace a deco template and its items |
| GET | `/api/deco-templates/{id}/items` | | Get deco template items |
## Decos
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/decos` | | Get all decos |
| POST | `/api/decos` | | Create a deco |
| GET | `/api/decos/groups` | GetDecoGroups | Get all deco groups |
| POST | `/api/decos/groups` | | Create a deco group |
| DELETE | `/api/decos/groups/{id}` | | Delete a deco group |
| DELETE | `/api/decos/{id}` | | Delete a deco |
| GET | `/api/decos/{id}` | GetDecoById | Get a deco by id |
| PUT | `/api/decos/{id}` | | Replace a deco |
## FFmpeg Profiles
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/ffmpeg/hardware-acceleration-kinds` | GetSupportedHardwareAccelerationKinds | Get supported hardware acceleration kinds |
| GET | `/api/ffmpeg/profiles` | GetFFmpegProfiles | Get all FFmpeg profiles |
| POST | `/api/ffmpeg/profiles` | CreateFFmpegProfile | Create an FFmpeg profile |
| DELETE | `/api/ffmpeg/profiles/{id}` | DeleteFFmpegProfile | Delete an FFmpeg profile |
| GET | `/api/ffmpeg/profiles/{id}` | GetFFmpegProfileById | Get an FFmpeg profile by id |
| PUT | `/api/ffmpeg/profiles/{id}` | UpdateFFmpegProfile | Update an FFmpeg profile |
## Filler Presets
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/filler-presets` | GetFillerPresets | Get all filler presets |
| POST | `/api/filler-presets` | CreateFillerPreset | Create a filler preset |
| DELETE | `/api/filler-presets/{id}` | DeleteFillerPreset | Delete a filler preset |
| GET | `/api/filler-presets/{id}` | GetFillerPresetById | Get a filler preset by id |
| PUT | `/api/filler-presets/{id}` | UpdateFillerPreset | Update a filler preset |
## Graphics Elements
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/graphics-elements` | GetGraphicsElements | Get all graphics elements |
## Health
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/health` | GetHealthChecks | Get health check results |
## Images
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/images/folders` | GetImageFolders | List image library folders |
| PUT | `/api/images/folders/{id}/duration` | UpdateImageFolderDuration | Set or clear an image folder's playout duration |
## Libraries
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/libraries/scan-status` | GetLibraryScanStatus | Get active library scan status |
| POST | `/api/libraries/{id}/scan` | | Scan library |
| POST | `/api/libraries/{id}/scan-show` | | Scan show |
| GET | `/api/library/browse` | BrowseLibrary | Browse and search library items |
## Logs
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/logs` | GetLogs | Get recent log entries |
## Maintenance
| Method | Path | Operation | Summary |
|---|---|---|---|
| POST | `/api/maintenance/clean_artwork` | | Clean artwork cache |
| POST | `/api/maintenance/empty_trash` | | Empty trash |
| GET | `/api/maintenance/gc` | | Garbage collect |
## Media Items
| Method | Path | Operation | Summary |
|---|---|---|---|
| DELETE | `/api/media-items` | DeleteMediaItems | Delete media items from the database |
| GET | `/api/media-items/{id}/info` | GetMediaItemInfo | Get technical media info for a media item |
## Media Sources
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/media-sources` | GetMediaSources | Get all media sources with their libraries |
## Movies
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/movies/{id}` | GetMovieById | Get a movie by id |
## Playlists
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/playlists` | GetPlaylists | Get playlists in a playlist group |
| GET | `/api/playlists/groups` | GetPlaylistGroups | Get all playlist groups |
## Playouts
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/playouts` | GetPlayouts | List playouts |
| POST | `/api/playouts` | | Create a playout |
| GET | `/api/playouts/history/{id}` | GetPlayoutHistoryDetails | Decode a playout history row |
| POST | `/api/playouts/reset-all` | ResetAllPlayouts | Reset all playouts |
| GET | `/api/playouts/warnings/count` | GetPlayoutWarningsCount | Count playouts with a failed build |
| DELETE | `/api/playouts/{id}` | | Delete a playout |
| GET | `/api/playouts/{id}` | GetPlayoutById | Get a playout by id |
| PUT | `/api/playouts/{id}` | | Update playout scheduling details |
| GET | `/api/playouts/{id}/alternate-schedules` | GetPlayoutAlternateSchedules | Get a classic playout's alternate schedules |
| PUT | `/api/playouts/{id}/alternate-schedules` | | Replace a classic playout's alternate schedules |
| GET | `/api/playouts/{id}/blocks` | GetPlayoutBlocks | Get the blocks scheduled by a block playout |
| GET | `/api/playouts/{id}/blocks/{blockId}/history` | GetPlayoutBlockHistory | Get a block's playout history |
| PUT | `/api/playouts/{id}/deco` | | Set (or clear) a playout's default deco |
| GET | `/api/playouts/{id}/items` | GetPlayoutItems | Get upcoming items (and unscheduled gaps) for a playout |
| GET | `/api/playouts/{id}/templates` | GetPlayoutTemplates | Get a block playout's templates |
| PUT | `/api/playouts/{id}/templates` | | Replace a block playout's templates |
## Resolution
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/ffmpeg/resolution/by-name/{name}` | GetResolutionByName | |
## Schedules
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/schedules` | | Get all schedules |
| POST | `/api/schedules` | | Create a schedule |
| DELETE | `/api/schedules/{id}` | | Delete a schedule |
| GET | `/api/schedules/{id}` | GetScheduleById | Get a schedule by id |
| PUT | `/api/schedules/{id}` | | Update a schedule |
| GET | `/api/schedules/{id}/items` | | Get schedule items |
| POST | `/api/schedules/{id}/items` | | Add a schedule item |
| PUT | `/api/schedules/{id}/items` | | Replace schedule items |
| DELETE | `/api/schedules/{id}/items/{itemId}` | | Delete a schedule item |
## Search
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/search` | Search | Search library items across all media kinds |
| GET | `/api/search/artists` | SearchArtists | Search artists by name |
| GET | `/api/search/collections` | SearchCollections | Search collections by name |
| GET | `/api/search/multi-collections` | SearchMultiCollections | Search multi collections by name |
| GET | `/api/search/smart-collections` | SearchSmartCollections | Search smart collections by name |
| GET | `/api/search/television-seasons` | SearchTelevisionSeasons | Search television seasons by name |
| GET | `/api/search/television-shows` | SearchTelevisionShows | Search television shows by name |
## Sessions
| Method | Path | Operation | Summary |
|---|---|---|---|
| DELETE | `/api/session/{channelNumber}` | | Stop session |
| GET | `/api/sessions` | | Get sessions |
## Settings
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/settings/ffmpeg` | GetFfmpegSettings | Get global FFmpeg settings |
| PUT | `/api/settings/ffmpeg` | UpdateFfmpegSettings | Update global FFmpeg settings |
| GET | `/api/settings/hdhr` | GetHdhrSettings | Get HDHomeRun emulation settings |
| PUT | `/api/settings/hdhr` | UpdateHdhrSettings | Update HDHomeRun emulation settings |
| GET | `/api/settings/logging` | GetLoggingSettings | Get per-area minimum log levels |
| PUT | `/api/settings/logging` | UpdateLoggingSettings | Update per-area minimum log levels |
| GET | `/api/settings/playout` | GetPlayoutSettings | Get global playout settings |
| PUT | `/api/settings/playout` | UpdatePlayoutSettings | Update global playout settings |
| GET | `/api/settings/resolutions` | GetResolutions | Get all resolutions, including custom resolutions |
| POST | `/api/settings/resolutions` | CreateResolution | Create a custom resolution |
| DELETE | `/api/settings/resolutions/{id}` | DeleteResolution | Delete a custom resolution |
| GET | `/api/settings/scanner` | GetScannerSettings | Get library scan cadence |
| PUT | `/api/settings/scanner` | UpdateScannerSettings | Update library scan cadence |
| GET | `/api/settings/ui` | GetUiSettings | Get UI preferences |
| PUT | `/api/settings/ui` | UpdateUiSettings | Update UI preferences |
| GET | `/api/settings/xmltv` | GetXmltvSettings | Get global XMLTV settings |
| PUT | `/api/settings/xmltv` | UpdateXmltvSettings | Update global XMLTV settings |
## Smart Collections
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/smart-collections` | | Get all smart collections |
| POST | `/api/smart-collections` | | Create a smart collection |
| DELETE | `/api/smart-collections/{id}` | | Delete a smart collection |
| GET | `/api/smart-collections/{id}` | GetSmartCollectionById | Get a smart collection by id |
| PUT | `/api/smart-collections/{id}` | | Update a smart collection |
## Television
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/seasons/{id}` | GetSeasonById | Get a television season by id |
| GET | `/api/shows/{id}` | GetShowById | Get a television show by id |
## Templates
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/templates` | | Get all templates |
| POST | `/api/templates` | | Create a template |
| GET | `/api/templates/groups` | GetTemplateGroups | Get all template groups |
| POST | `/api/templates/groups` | | Create a template group |
| DELETE | `/api/templates/groups/{id}` | | Delete a template group |
| DELETE | `/api/templates/{id}` | | Delete a template |
| GET | `/api/templates/{id}` | GetTemplateById | Get a template by id |
| PUT | `/api/templates/{id}` | | Replace a template and its items |
| POST | `/api/templates/{id}/copy` | | Copy a template |
| GET | `/api/templates/{id}/items` | | Get template items |
## Trakt
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/trakt/lists` | GetTraktLists | Get paged Trakt lists |
| POST | `/api/trakt/lists` | | Add a Trakt list by URL |
| DELETE | `/api/trakt/lists/{id}` | | Delete a Trakt list |
| GET | `/api/trakt/lists/{id}` | GetTraktListById | Get a Trakt list by id |
| PUT | `/api/trakt/lists/{id}` | | Update a Trakt list's settings |
| POST | `/api/trakt/lists/{id}/match` | | Match a Trakt list's items |
| GET | `/api/trakt/status` | GetTraktStatus | Get Trakt background operation status |
## Troubleshooting
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/troubleshoot/info` | GetTroubleshootingInfo | Get troubleshooting diagnostic info |
| GET | `/api/troubleshoot/playback.m3u8` | | Start a troubleshooting playback session |
| HEAD | `/api/troubleshoot/playback.m3u8` | | Start a troubleshooting playback session |
| GET | `/api/troubleshoot/playback/archive` | | Download the last troubleshooting playback session archive |
| HEAD | `/api/troubleshoot/playback/archive` | | Download the last troubleshooting playback session archive |
| GET | `/api/troubleshoot/playback/sample/{mediaItemId}` | | Download a media sample archive for troubleshooting |
| HEAD | `/api/troubleshoot/playback/sample/{mediaItemId}` | | Download a media sample archive for troubleshooting |
| POST | `/api/troubleshoot/validate-schedule` | ValidateSequentialSchedule | Validate a sequential schedule YAML document |
## Version
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/version` | GetVersion | Get version |
## Watermarks
| Method | Path | Operation | Summary |
|---|---|---|---|
| GET | `/api/watermarks` | GetWatermarks | Get all watermarks |
| POST | `/api/watermarks` | CreateWatermark | Create a watermark |
| DELETE | `/api/watermarks/{id}` | DeleteWatermark | Delete a watermark |
| GET | `/api/watermarks/{id}` | GetWatermarkById | Get a watermark by id |
| PUT | `/api/watermarks/{id}` | UpdateWatermark | Update a watermark |