Skip to content
Tom Wallroth edited this page Jul 7, 2013 · 3 revisions

/api/v1

THIS INTERFACE IS NOT YET AVAILABLE!

url definitions:

/media

params:

starts_with=STRING

calls:

GET /media → collection

/playlists

params:

format="native"|"pls"|"m3u"
    default "native"

calls:

/playlists/USERNAME
/playlists/USERNAME/PLAYLISTNAME

/users

calls:

GET /users/NAME

/sessions

calls:

login:

POST /sessions → LAST_GUI_STATE

logout:

DELETE /sessions

save status:

PUT /sessions/save

/config

calls:

config incl. useroptions:

GET /config/USERNAME

/search

params:

q=STRING
fields="playlist"|"collection"|"track"

calls:

GET /search

/heartbeat

/art

calls:

GET /art/

params:*

TODO!

object definitions:

request:

{
    data: dataobj
}

response:

{
    status: "success" | "error",
    notifications: [ notification* ],
    data: dataobj,
}

notification:

{
    status: "success"|"error"|"warning" ,
    message: STRING,
}

dataobj:

proxy | track | collection | playlist

proxy:

{
    id: RESTURL,
    type: "proxy" | "collection" | "track" | "playlist",
    title: STRING,
    label: STRING,
    img: URL
}

collection:

proxy + {
    list: [proxy*]
}

track:

proxy + {
    audio: RELATIVE_URL,
    format: "mp3"|"flac"|"ogg"|...
}

playlist:

proxy + {
    owner: USER_URI,
    tracks: [track*],
}

config:

{
    audio_serve_url: URL,
    audio_transcoder_url: URL,
    user_options: { USER_OPTIONS ... }
}