Skip to content
MZAP
Search
Ctrl
K
Cancel
Website
Select theme
Dark
Light
Auto
Getting Started
Installation
Quick Start
System Requirements
Concepts
Zones and Players
Matrix Routing
Audio Devices
Workspaces
EQ & Compressor Presets
Privacy & Data Collection
User Guide
Media Library
Playlists
Jingles
Scheduler
EQ & Compressor
Input Capture
Settings
Streaming Zones
AirPlay Input
MZAP Remote (Mobile App)
SoundMachine
Music Licensing
Licensing by country
Users & Access
Overview
Roles and Permissions
Managing Users
Player and Zone Assignments
API Keys
Lock Workspace
MCP Integration
MCP Overview
MCP Tools Reference
MCP Examples
API Reference
Overview
Health
API health check
Auth
Get authentication status
Login with username and password
Logout and invalidate session
Lock the UI (admin only, invalidates current session)
Users
List all users (admin only)
Create a new user (admin only)
Update user role/enabled state (admin only)
Delete a user (admin only, can't delete last admin)
Change a user's password (admin or self)
Regenerate API key for a user (admin only)
Get the full API key for a user (admin only)
Devices
Initialize audio engine
Get all available audio devices
Get a specific device by ID
Refresh audio devices (hot-plug support)
Check if audio engine is initialized
Diagnostic: probe BASS live state of every output device (WASAPI + ASIO)
Toggle device favorite status
DEPRECATED — replaced by user-defined zones (POST/PUT/DELETE /api/zones). Returns 410.
Input Devices
Get all audio input devices
Toggle input device favorite status
Audio Processes
List processes targetable by ProcessLoopback players
Zones
Get all zones from all devices
Create a user-defined zone (device, channel, mono/stereo)
Get a specific zone by ID
Edit a zone's device, channel, layout, or name
Delete a zone and detach it from all players
Get all zones for a specific device
Get free/used channels for a device to drive the create-zone form
Create zones for every free channel of a device (mono per channel or stereo per pair)
Rename a zone
Set volume for a specific zone (fader position via 'volume', or decibels via 'volumeDb')
Set mute state for a specific zone
Set equalizer settings for a specific zone
Set compressor settings for a specific zone
Toggle zone favorite status
Updates a stream zone's broadcast settings (rebuilds the encoder chain)
Suggests the next free built-in-server port for a new stream zone
Players
Get all players
Create a new player
Rename a player
Delete a player
Start playback
Pause playback
Stop playback
Seek to a specific position
Set player volume
Set player mute state
Load a file or stream URL into the player
Attach player to zones
Detach player from zones
Skip to next track (SoundMachine players: a skip limited to 6 per hour, 429 at the limit; 409 while a message plays)
Toggle like on the current SoundMachine song
Block the current SoundMachine song and skip it if allowed (6/h)
Go to previous track in playlist (not available for SoundMachine players: 400)
Jump to a specific track in playlist
Assign a playlist to the player
Set the player's playback mode
Re-point an Input/Loopback player to a different input device + channel
Toggle player favorite status
Set player PFL (Pre-Fader Listen) state
Set player crossfade duration
Set whether the stream URL is hidden in the UI
Enable/disable stream-outage failover to local backup tracks for a player
Configure microphone auto-ducking (Input players attenuate others while live)
Configure auto level (AGC) for a player: target loudness, max boost, speed, limiter
Attach a player to a target process for per-application loopback capture
Detach a ProcessLoopback player from its target process
Set the name an AirPlay player advertises in the AirPlay picker
Switch a SoundMachine player to another station, mix or schedule (applies immediately if playing)
Bind a SoundMachine player to another account (stops it first)
Let the AirPlay sender's volume slider drive the player volume
Set or clear the password required to connect to an AirPlay endpoint
Current now-playing artwork sent by the AirPlay sender
Playlists
Get all playlists
Create a new playlist
Get a playlist by ID
Update/rename a playlist
Delete a playlist
Import playlist from M3U or PLS file
Create one playlist per subfolder under a root path; sync existing on re-run
Export playlist to file
Add tracks to playlist
Remove tracks from playlist
Set playback mode
Reorder tracks in playlist
Duplicate a playlist
Verify playlist track file paths
Toggle playlist favorite status
Promote a transient (per-player working) playlist into a normal library playlist
Matrix
Get the complete routing matrix
Route a player to a zone
Unroute a player from a zone
Settings
Get application settings
Update application settings
Streaming
Subscribe to all entity changes and state updates via Server-Sent Events (SSE)
Subscribe to VU meter level updates via Server-Sent Events (SSE)
Subscribe to events for a specific player via Server-Sent Events (SSE)
Jingles
Get all jingles
Create a new jingle (file-based or TTS)
Update jingle settings
Delete a jingle
Play a jingle on target players or zones
Stop a playing jingle
TTS
List TTS providers and their availability
List voices for a TTS provider
Status of cloud TTS configuration (license + key presence)
Store the Azure Speech API key + region
Remove the stored Azure Speech key
Store the ElevenLabs API key
Remove the stored ElevenLabs key
Verify a candidate cloud TTS key without storing it
Synthesize a one-off WAV preview and return the audio bytes (audio/wav)
SoundMachine
List SoundMachine accounts (passwords are never returned)
Add a SoundMachine account (credentials are verified first)
Update a SoundMachine account
Delete a SoundMachine account (must not be used by a player)
GetSoundMachineGenres
GetSoundMachineGenreStations
GetSoundMachineMyStations
SearchSoundMachineStations
List the account's SoundMachine mixes
List the account's SoundMachine weekly schedules
Presets
Get all EQ presets
Create a new EQ preset
Update an EQ preset
Delete an EQ preset
Get all compressor presets
Create a new compressor preset
Update a compressor preset
Delete a compressor preset
Scheduler
Get all scheduled tasks
Create a new scheduled task
Get a scheduled task by ID
Update an existing scheduled task
Delete a scheduled task
Duplicate an existing scheduled task (clone is created disabled)
Enable a scheduled task
Disable a scheduled task
Manually trigger a scheduled task
Get scheduler operational status
Get task execution log
Prayer
Compute prayer times for today at the configured venue location
Compute prayer times for a specific date (YYYY-MM-DD) at the configured venue location
Workspace
Get current workspace metadata
Create a new empty workspace
Save workspace to a file
Load workspace from a file
Get user-to-resource assignments for current workspace (admin only)
Update user-to-resource assignments (admin only)
Library
Search media files in the library
Count media files matching the given filters (no row payload)
Get a media file by ID
Get library statistics
Get all library folders
Add a folder to the library
Remove a folder and its files from the library
Scan a specific library folder (non-blocking; returns scanId).
Scan all library folders (non-blocking; returns scanId).
List currently queued / running library scans.
Start a library scan (folder or all). Returns 202 with the scanId.
Cancel a running library scan by id.
MZAP License
License Activation
Offline Activation
Transferring to Another PC
Support & Updates
License Troubleshooting
Troubleshooting
Logs
Enabling WASAPI Exclusive Mode
Changelog
Changelog
Website
Select theme
Dark
Light
Auto
Get the complete routing matrix
GET
/api/matrix
Responses
Section titled “ Responses ”
200
Section titled “200 ”
OK
Select media type
application/json
object
key
additional properties
Array<string>