REST API Reference
HTTP API for controlling Soundie from any language or tool.
Base URL
http://127.0.0.1:45289Only accessible from localhost. Binds on app startup. All responses are JSON.
Player
/api/playerGet full player state including track, position, volume, shuffle, repeat.
/api/player/playResume playback.
/api/player/pausePause playback.
/api/player/toggleToggle play/pause.
/api/player/nextSkip to next track in queue.
/api/player/previousGo to previous track or restart current.
/api/player/seekSeek to position. Body: { position_ms: number }
/api/player/volumeSet volume 0–1. Body: { volume: number }
/api/player/shuffleToggle shuffle. Body: { enabled: boolean }
/api/player/repeatSet repeat mode. Body: { mode: "off" | "track" | "queue" }
Queue
/api/queueGet current queue with all tracks and current index.
/api/queue/addAdd a track or playlist URL to the queue.
/api/queue/insertInsert track at specific index. Body: { url, index }
/api/queue/:indexRemove track at index.
/api/queue/clearClear the entire queue.
/api/queue/play/:indexJump to and play track at index.
/api/queue/moveMove track from one index to another. Body: { from, to }
Library
/api/library/playlistsList all saved playlists.
/api/library/playlistsCreate a new playlist. Body: { name, description? }
/api/library/playlists/:idGet playlist details and tracks.
/api/library/playlists/:idDelete a playlist.
/api/library/playlists/:id/tracksGet all tracks in a playlist.
/api/library/playlists/:id/tracksAdd a track to a playlist.
/api/library/importImport a playlist from URL.
/api/library/previewPreview a playlist URL without importing.
Search
/api/search?q=:query&source=:sourceSearch across enabled music sources.
System
/api/systemGet app version, platform, and status.
/api/system/themeGet the active theme definition.
/api/system/themeSet active theme by ID.
/api/system/pluginsList installed plugins and their state.