Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
352 lines
16 KiB
Markdown
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 |
|