~hristoast/mousikofidi

e04550f4501d708b4e7b216d096ed25aa105de1a — Hristos N. Triantafillou 2 months ago 2439214
API docs
1 files changed, 99 insertions(+), 0 deletions(-)

A api.md
A api.md => api.md +99 -0
@@ 0,0 1,99 @@
The MousikóFídi API is a work-in-progress. Eventually, all functionality will be exposed via the API.

Examples shown using [HTTPie](https://httpie.org/).

## `/api/v1/metadata/:filepath`

Return metadata for the given track.

```
https --body "demo.mousikofidi.info/api/v1/metadata/srv/music/JaB/JaB - Web City Vol 2- Tha 7th Healer/02 - 7th%20Healer.mp3"
{
    "album": "Web City Vol. 2- Tha 7th Healer",
    "artist": "Ja.B.",
    "comment": "DatPiff.com",
    "date": null,
    "encoded_by": null,
    "genre": "Hip-Hop",
    "length": "3:35",
    "lyrics": "DatPiff",
    "title": "7th Healer",
    "title_mobile": "7th Healer",
    "track": "02",
    "tracktotal": "05"
}
```

## `/api/v1/playlist/:name`

Return the contents of the given playlist.

```
https --body "demo.mousikofidi.info/api/v1/playlist/From freemusicarchive.org"
{
    "audio": [
        "srv/music/from_freemusicarchive.org/Black_Ant_-_01_-_Fater_Lee.mp3",
        "srv/music/from_freemusicarchive.org/BoxCat_Games_-_10_-_Epic_Song.mp3",
        "srv/music/from_freemusicarchive.org/Checkie_Brown_-_09_-_Mary_Roose_CB_36.mp3",
        "srv/music/from_freemusicarchive.org/Derek_Clegg_-_12_-_Annalise.mp3",
        "srv/music/from_freemusicarchive.org/Jahzzar_-_01_-_The_last_ones.mp3",
        "srv/music/from_freemusicarchive.org/Jason_Shaw_-_RUNNING_WATERS.mp3",
        "srv/music/from_freemusicarchive.org/Kai_Engel_-_04_-_Moonlight_Reprise.mp3",
        "srv/music/from_freemusicarchive.org/Latch_Swing_-_01_-_Hungaria.mp3",
        "srv/music/from_freemusicarchive.org/Lobo_Loco_-_01_-_Brain_ID_1270.mp3",
        "srv/music/from_freemusicarchive.org/Podington_Bear_-_Starling.mp3",
        "srv/music/from_freemusicarchive.org/Punk_Rock_Opera_-_14_-_1945.mp3",
        "srv/music/from_freemusicarchive.org/Quantum_Jazz_-_02_-_If_I_Cant_Dance_Its_Not_My_Revolution.mp3",
        "srv/music/from_freemusicarchive.org/Revolution_Void_-_07_-_How_Exciting.mp3",
        "srv/music/from_freemusicarchive.org/Stephan_Siebert_-_07_-_when.mp3",
        "srv/music/from_freemusicarchive.org/The_Ghost_in_Your_Piano_-_02_-_Flux.mp3",
        "srv/music/from_freemusicarchive.org/The_Kyoto_Connection_-_09_-_Hachiko_The_Faithtful_Dog.mp3",
        "srv/music/from_freemusicarchive.org/Urbano_A_Zafra_-_01_-_Danza_Filipina.mp3"
    ],
    "error": null,
    "video": []
}
```

## `/api/v1/playlists`

Return all playlists.

```
https --body demo.mousikofidi.info/api/v1/playlists
[
    {
        "count": 17,
        "filename": "From freemusicarchive.org.m3u",
        "name": "From freemusicarchive.org"
    },
    {
        "count": 12,
        "filename": "JaB Mixtapes.m3u",
        "name": "JaB Mixtapes"
    },
    {
        "count": 74,
        "filename": "OC Remix: FF6 Balance And Ruin.m3u",
        "name": "OC Remix: FF6 Balance And Ruin"
    },
    {
        "count": 45,
        "filename": "OC Remix: FF7 Voices Of The Lifestream.m3u",
        "name": "OC Remix: FF7 Voices Of The Lifestream"
    },
    {
        "count": 4,
        "filename": "Public Domain Videos from utoob.m3u",
        "name": "Public Domain Videos from utoob"
    }
]
```

## `/api/v1/queue/:cmd`

For saving the current queue as a file. The only command available is `save`.

```
https name="My Cool Playlist" demo.mousikofidi.info/api/v1/playlists/save
```