Skip to content

Version 1.0 API

Kun Deng edited this page Jul 18, 2019 · 12 revisions

Version 1.0 API

This page contains API documentation regarding version 1.0 if the API. For the sake of the examples I will use icarus-demo.com as the hostname and https. Though if you are using Icarus without a host name you can merely provide the IP address coupled with the port number.

API Categories

  • Authentication
  • Songs
  • Artists
  • Album
  • Genres
  • Year
  • Cover art

Songs

Uploading Song

URI: https://icarus-demo.com/api/v1/song/data
Method: Post
Content type: multipart/form-data
Authorization: Bearer token
File: @file=/path/to/song/you/wish/to/upload.mp3

Downloading Song

URI: https://icarus-demo.com/api/v1/song/data/id
Method: Get
Authorization: Bearer token

Delete Song

URL: https://icarus-demo.com/api/v1/song/id
Method: Delete
Authorization: Bearer token

Updating Song Metadata

URI: https://icarus-demo.com/api/v1/song/id
Method: Update
Authorization: Bearer token
Request body:

{
    "title" : "updated title",
    "artist" : "updated artist",
    "album" : "updated album",
    "genre" : "updated genre",
    "year" : "updated year"
}

Retrieve Song Metadata

URI: https://icarus-demo.com/api/v1/song/id
Method: Get
Authorization: Bearer token
Response body:

{
    "id" : 4,
    "title" : "King",
    "artist" : "XXXTentacion",
    "album" : "Revenge",
    "genre" : "Hip-Hop/R&B",
    "year" : 2017,
    "duration" : 113,
    "filename" : "track05.mp3",
    "song_path" : "/home/phoenix/software/Icarus/Music/XXXTentacion/Revenge/track05.mp3"
}

Retrieve all Song Metadata

URI: https://icarus-demo.com/api/v1/song
Method: Get
Authorization: Bearer token
Response body:

[
    {
        "id" : 1,
        "title" : "Two Steppin'",
        "artist" : "Gerald Albright",
        "album" : "Giving Myself To You",
        "genre" : "Jazz",
        "year" : 1995,
        "duration" : 387,
        "filename" : "track07.mp3",
        "song_path" : "/home/phoenix/software/Icarus/Music/Gerald Albright/Giving Myself To You/track07.mp3"
   },
   {
        "id" : 2,
        "title" : "Look Thru My Eyes",
        "artist" : "DMX",
        "album" : "It's Dark and Hell Is Hot",
        "genre" : "Hip-Hop",
        "year" : 1998,
        "duration" : 231,
        "filename" : "track05.mp3",
        "song_path" : "/home/phoenix/software/Icarus/Music/DMX/It's Dark and Hell Is Hot/track05.mp3"
   },
   {
        "id" : 3,
        "title" : "The Patient",
        "artist" : "Tool",
        "album" : "Lateralus",
        "genre" : "Progressive Metal",
        "year" : 2001,
        "duration" : 434,
        "filename" : "track03.mp3",
        "song_path" : "/home/phoenix/software/Icarus/Music/Tool/Lateralus/track03.mp3"
   },
   {
       "id" : 4,
       "title" : "King",
       "artist" : "XXXTentacion",
       "album" : "Revenge",
       "genre" : "Hip-Hop/R&B",
       "year" : 2017,
       "duration" : 113,
       "filename" : "track05.mp3",
      "song_path" : "/home/phoenix/software/Icarus/Music/XXXTentacion/Revenge/track05.mp3"
   }
]

Clone this wiki locally