Skip to main content
POST
/
releases
Create Release
curl --request POST \
  --url https://server26-dot-royalti-project.uc.r.appspot.com/releases \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "title": "My First Single",
  "displayArtist": "Test Artist",
  "artists": {
    "Test Artist": "primary"
  },
  "format": "Single",
  "type": "Audio",
  "version": "Radio Edit",
  "label": "Independent Records",
  "copyright": "2024 Test Artist",
  "mainGenre": [
    "Pop",
    "Rock"
  ],
  "subGenre": [
    "Alternative"
  ],
  "contributors": {
    "producer": [
      "Producer Name"
    ],
    "songwriter": [
      "Test Artist",
      "Co-Writer"
    ]
  },
  "description": "A catchy single with great production",
  "metadata": {
    "recordingStudio": "Abbey Road Studios",
    "mixedBy": "Famous Engineer"
  },
  "explicit": null,
  "releaseDate": "2024-12-01",
  "preReleaseDate": "2024-11-15",
  "ownerId": "550e8400-e29b-41d4-a716-446655440000",
  "tracks": [
    {
      "title": "My First Single",
      "version": "Radio Edit",
      "isrc": "USCM51500001",
      "iswc": "T-000.000.001-0",
      "duration": 210,
      "lyrics": "Verse 1\nChorus\nVerse 2\nChorus\nBridge\nChorus",
      "language": "EN",
      "displayArtist": "Test Artist",
      "artists": {
        "Test Artist": "primary"
      },
      "mainGenre": [
        "Pop"
      ],
      "subGenre": [
        "Alternative"
      ],
      "contributors": {
        "songwriter": [
          "Test Artist"
        ]
      },
      "media": [],
      "metadata": {
        "bpm": 120,
        "key": "C Major"
      },
      "explicit": null
    }
  ]
}'
{
  "success": true,
  "data": {
    "id": "<string>",
    "TenantId": "<string>",
    "TenantUserId": "<string>",
    "title": "<string>",
    "format": "Single",
    "type": "Audio",
    "version": "<string>",
    "label": "<string>",
    "copyright": "<string>",
    "displayArtist": "<string>",
    "artists": [
      {
        "id": "3816be64-720c-4105-990f-a6b99b0f928b",
        "artistName": "Bally Jhay",
        "type": "primary"
      }
    ],
    "mainGenre": [
      "<string>"
    ],
    "subGenre": [
      "<string>"
    ],
    "contributors": [
      "<string>"
    ],
    "description": "<string>",
    "metadata": {},
    "media": [
      {}
    ],
    "explicit": "explicit",
    "releaseDate": "2023-11-07T05:31:56Z",
    "preReleaseDate": "2023-11-07T05:31:56Z",
    "status": "<string>",
    "tracks": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "TenantId": 123,
        "ReleaseId": "660e8400-e29b-41d4-a716-446655441111",
        "assetId": "770e8400-e29b-41d4-a716-446655442222",
        "trackNumber": 1,
        "title": "My Track Title",
        "version": "Radio Edit",
        "isrc": "USABC1234567",
        "iswc": "T-123456789-0",
        "duration": 213.5,
        "lyrics": "Verse 1\nChorus\nVerse 2",
        "language": "en",
        "displayArtist": "Artist Name",
        "artists": [
          {
            "id": "550e8400-e29b-41d4-a716-446655440000",
            "artistName": "John Doe",
            "type": "primary"
          },
          {
            "id": "660e8400-e29b-41d4-a716-446655441111",
            "artistName": "Jane Smith",
            "type": "featuring"
          }
        ],
        "mainGenre": [
          "Pop",
          "Rock"
        ],
        "subGenre": [
          "Alternative"
        ],
        "contributors": {
          "producer": [
            "Producer Name"
          ],
          "songwriter": [
            "Writer Name"
          ]
        },
        "media": [
          {
            "cloudId": "550e8400-e29b-41d4-a716-446655440000",
            "cloudUrl": "https://storage.royalti.io/files/audio.mp3",
            "type": "audio",
            "name": "my-track.mp3",
            "isLink": false,
            "releasePath": "tenant123/releases/release456/tracks/track789/file.mp3",
            "metadata": {
              "duration": 213.5,
              "bitrate": "320",
              "sampleRate": "44100",
              "channels": "2",
              "codec": "mp3",
              "fileSize": 1048576,
              "mimeType": "audio/mpeg",
              "processedAt": "2023-11-07T05:31:56Z",
              "linkValidated": true
            }
          }
        ],
        "metadata": {
          "bpm": 120,
          "key": "C Major"
        },
        "explicit": false
      }
    ],
    "owner": {
      "id": "<string>",
      "firstName": "<string>",
      "lastName": "<string>",
      "email": "<string>"
    }
  }
}

POST /releases

This endpoint allows the creation of a new release with tracks. The release will be created in draft status and can be submitted for review once ready.

Request Body

  • title (string, required): The title of the release
  • displayArtist (string, required): The display artist name
  • artists (object, required): Artists and their roles (must include at least one primary artist)
  • format (string): Format of the release (Single, EP, Album, etc.)
  • type (string): Type of release (Audio, Video, Mixed)
  • version (string): Version of the release
  • label (string): Record label
  • copyright (string): Copyright information
  • mainGenre (array): Main genres
  • subGenre (array): Sub-genres
  • contributors (object): Contributors and their roles
  • description (string): Description of the release
  • metadata (object): Additional metadata
  • explicit (string): Content rating: ‘explicit’, ‘clean’, or null
  • releaseDate (string): Release date
  • preReleaseDate (string): Pre-release date
  • tracks (array, required): Array of tracks

Authentication

This endpoint requires authentication. Include your bearer token in the Authorization header.

Request Body

Example Request

{
  "title": "My First Single",
  "displayArtist": "Test Artist",
  "artists": {
    "Test Artist": "primary"
  },
  "format": "Single",
  "type": "Audio",
  "version": "Radio Edit",
  "label": "Independent Records",
  "copyright": "2024 Test Artist",
  "mainGenre": [
    "Pop",
    "Rock"
  ],
  "subGenre": [
    "Alternative"
  ],
  "contributors": {
    "producer": [
      "Producer Name"
    ],
    "songwriter": [
      "Test Artist",
      "Co-Writer"
    ]
  },
  "description": "A catchy single with great production",
  "metadata": {
    "recordingStudio": "Abbey Road Studios",
    "mixedBy": "Famous Engineer"
  },
  "explicit": null,
  "releaseDate": "2024-12-01",
  "preReleaseDate": "2024-11-15",
  "ownerId": "550e8400-e29b-41d4-a716-446655440000",
  "tracks": [
    {
      "title": "My First Single",
      "version": "Radio Edit",
      "isrc": "USCM51500001",
      "iswc": "T-000.000.001-0",
      "duration": 210,
      "lyrics": "Verse 1\nChorus\nVerse 2\nChorus\nBridge\nChorus",
      "language": "EN",
      "displayArtist": "Test Artist",
      "artists": {
        "Test Artist": "primary"
      },
      "mainGenre": [
        "Pop"
      ],
      "subGenre": [
        "Alternative"
      ],
      "contributors": {
        "songwriter": [
          "Test Artist"
        ]
      },
      "media": [],
      "metadata": {
        "bpm": 120,
        "key": "C Major"
      },
      "explicit": null
    }
  ]
}

Request Schema

FieldTypeRequiredDescription
titlestringThe title of the release
displayArtiststringThe display artist name
artistsobjectArtists and their roles (must include at least one primary artist)
formatstringFormat of the release
typestringType of release
versionstringVersion of the release
labelstringRecord label
copyrightstringCopyright information
mainGenrearrayMain genres of the release
subGenrearraySub-genres of the release
contributorsobjectContributors and their roles
descriptionstringDescription of the release
metadataobjectAdditional metadata
explicitstringContent rating: explicit, clean, or null (not specified)
ownerIdstringOptional: UUID of the user who will own the release (admin/owner only)
releaseDatestringRelease date
preReleaseDatestringPre-release date
tracksarrayArray of tracks in the release

Responses

✅ 201 - Success - Release created

⚠️ 400 - Bad Request - Validation error

⚠️ 401 - Unauthorized

❌ 500 - Internal Server Error

Tags

Release

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"

Body

application/json
title
string
required

The title of the release

displayArtist
string
required

The display artist name

artists
object
required

Artists and their roles (must include at least one primary artist)

tracks
object[]
required

Array of tracks in the release

format
enum<string>
default:Single

Format of the release

Available options:
Single,
EP,
Album,
Compilation,
Soundtrack,
Live,
Remix,
Remaster
type
enum<string>
default:Audio

Type of release

Available options:
Audio,
Video,
Mixed
version
string

Version of the release

label
string

Record label

Copyright information

mainGenre
string[]

Main genres of the release

subGenre
string[]

Sub-genres of the release

contributors
object

Contributors and their roles

description
string

Description of the release

metadata
object

Additional metadata

explicit
enum<string> | null

Content rating: explicit, clean, or null (not specified)

Available options:
explicit,
clean
ownerId
string<uuid> | null

Optional: UUID of the user who will own the release (admin/owner only)

Example:

"550e8400-e29b-41d4-a716-446655440000"

releaseDate
string<date>

Release date

preReleaseDate
string<date>

Pre-release date

Response

Success - Release created

success
boolean
Example:

true

data
object
I