---
title: "Upload a song"
method: POST
path: "/api/upload"
---

# Upload a song

`POST /api/upload`

Upload a song. The current authenticated user must be an admin.

## Response `200`

OK

- SongWithAlbumAndArtist — A Song model with loaded album and artist information
  - `id` string, required — An md5 string
  - `artist_id` integer, required
  - `album_id` integer, required
  - `title` string, required
  - `disc` integer, required
  - `track` number, required
  - `length` number, float, required — The duration of the song in seconds
  - `album` Album, required — An Album entity
    - `id` integer, required
    - `artist_id` integer, required
    - `name` string, required
  - `artist` Artist, required — An Artist model
    - `id` integer, required
    - `name` string, required

---

[API](https://skmtc.net/koel/apis/koel-api.md) · [All operations](https://skmtc.net/koel/apis/koel-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/koel/koel-api/versions/b8837d22df45/schema)
