Skip to content

API and Command Line

You can choose between:

The JSON API is the most versatile and the recommended method, but for simple command line operations, mpc is easier. DAAP/DACP is only for masochists.

JSON API

See the JSON API docs

mpc

mpc is easy to use for simple operations like enabling speakers, changing volume and getting status.

Due to differences in implementation between OwnTone and MPD, some mpc commands will work differently or not at all.

DAAP/DACP

Here is an example of how to use curl with DAAP/DACP. Say you have a playlist with a radio station, and you want to make a script that starts playback of that station:

  1. Run sqlite3 [your OwnTone db]. Use select id,title from files to get the id of the radio station, and use select id,title from playlists to get the id of the playlist.
  2. Convert the two ids to hex.
  3. Put the following lines in the script with the relevant ids inserted (also observe that you must use a session-id < 100, and that you must login and logout):
curl "http://localhost:3689/login?pairing-guid=0x1&request-session-id=50"
curl "http://localhost:3689/ctrl-int/1/playspec?database-spec='dmap.persistentid:0x1'&container-spec='dmap.persistentid:0x[PLAYLIST-ID]'&container-item-spec='dmap.containeritemid:0x[FILE ID]'&session-id=50"
curl "http://localhost:3689/logout?session-id=50"