-
Notifications
You must be signed in to change notification settings - Fork 0
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.
- Authentication
- Songs
- Artists
- Album
- Genres
- Year
- Cover art
URI: https://icarus-demo.com/api/v1/login
Method: Post
Content type: application/json
Request body:
{
"username" : "phoenix",
"password" : "Flame"
}Response body:
{
"id" : 1,
"username" : "phoenix",
"token" : "dsfsdfnisdnosnfwefh923hr329hf29fb293fhn20jf20f",
"token_type" : "Bearer",
"expiration" : 8000
}URI: https://icarus-demo.com/api/v1/register
Method: Post
Content type: application/json
Request body:
{
"first_name" : "Atman",
"last_name" : "Heron",
"username" : "ateron",
"nickname" : "heron",
"password" : "secret",
"email" : "elysium@aaru.org",
"phone_number" : "(789) 555-841"
}Response body:
{
"username" : "ateron",
"successfully_registered" : true,
"message" : "User successfully registered"
}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
URI: https://icarus-demo.com/api/v1/song/data/id
Method: Get
Authorization: Bearer token
URL: https://icarus-demo.com/api/v1/song/id
Method: Delete
Authorization: Bearer token
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"
}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"
}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"
}
]Icarus