Schema
Required fields for release submission. The server supplies defaults for optional fields like label, pline_year, and pline_owner.
Release Fields
| Field | Required | Notes |
|---|---|---|
title | Yes | Release title |
primary_artist_name | Yes | Main artist |
genre | Yes | Music genre |
release_date | Yes | Format: YYYY-MM-DD |
cover_art_file_url | Yes | From upload endpoint |
Track Fields
| Field | Required | Notes |
|---|---|---|
title | Yes | No placeholders |
audio_file_url | Yes | From upload endpoint |
explicit_flag | Yes | Boolean |
writers | Yes | Array, at least one |
Validation Rules
- Single tracks:
track.titlemust matchrelease.title - Writers: Each
writer.namemust be a full legal name (first + last) - Explicit flag: Must be boolean
trueorfalse
Example Payload
{
"release": {
"title": "My Release",
"primary_artist_name": "Artist Name",
"genre": "Pop",
"release_date": "2026-02-01",
"cover_art_file_url": "/api/files/cover-art/USER_ID/cover.jpg"
},
"tracks": [
{
"title": "My Release",
"primary_artist_name": "Artist Name",
"audio_file_url": "/api/files/audio/USER_ID/track.wav",
"explicit_flag": false,
"writers": [{ "name": "First Last" }]
}
]
}