Skip to main content

Overview

The Royalti.io Release Management system streamlines the process of preparing and distributing music releases. This guide covers creating releases, managing tracks and media, submitting for review, and leveraging the auto-creation pipeline that generates Products and Assets automatically upon approval.

Prerequisites

Addon Activation

The Releases feature requires an active subscription. Contact your account administrator to enable this addon for your workspace.

Authentication

All release endpoints require authentication with a Bearer token.
Node.js

Release Creation Workflow

1

Create Draft Release

Create a new release with required metadata and at least one track.
Node.js
2

Upload Media Files

Add artwork, audio files, and supporting documents to your release.
Node.js
Media files are stored in temporary storage until the release is approved. Upon approval, they are automatically transferred to permanent storage.
3

Submit External Links

For large files, submit links from WeTransfer, Google Drive, Dropbox, or other cloud services.
Node.js
Supported platforms: WeTransfer, Google Drive, Dropbox, OneDrive, Box, Mega, MediaFire
4

Submit for Review

Once all metadata and media are complete, submit the release for admin review.
Node.js
Releases must have at least 1 track and 1 primary artist to be submitted. Only releases in ‘draft’ or ‘rejected’ status can be submitted.

Release Metadata

Required Fields

  • title: Release title
  • displayArtist: How artist name appears on the release
  • artists: Object mapping artist UUIDs or names to roles (‘primary’, ‘featuring’)
  • tracks: Array of at least one track

Optional Fields

  • format: Single (default), EP, Album, LP, Video
  • type: Audio (default), Video
  • version: Deluxe Edition, Remastered, etc.
  • label: Record label name
  • copyright: Copyright notice
  • releaseDate: Public release date
  • preReleaseDate: Early access date
  • mainGenre: Array of primary genres
  • subGenre: Array of secondary genres
  • explicit: ‘explicit’, ‘clean’, or null
  • contributors: Array of contributors with roles and ISNI codes
  • metadata: Custom fields (UPC, catalog number, etc.)

Artist Resolution

The system supports flexible artist handling:
Node.js

Track Management

Creating Tracks

Tracks can be added during release creation or afterward:
Node.js

Linking Existing Assets

Link previously created Assets to a release with optional overrides:
Node.js
Linking Assets preserves the original Asset data while allowing release-specific customizations through overrides.

Reordering Tracks

Node.js

Updating Tracks

Node.js

Media Management

Storage Architecture

All media is initially stored in temporary storage. Upon release approval, media is automatically transferred to your workspace’s permanent storage location.

Release-Level Media

Release-level media supports multiple files (artwork, documents, promotional materials):
Node.js

Track-Level Media

Each track supports one audio or video file:
Node.js
Each track can have only one audio or video file. Uploading a new file replaces the existing one.

Deleting Media

Node.js

Review and Approval Process

Feedback System

Users and admins can provide feedback on releases to facilitate communication during the review process. Feedback can be public (visible to release owner) or internal (admin-only).

Standard Feedback

Create feedback from the authenticated user:
Node.js

Admin Internal Feedback

Admins can create internal feedback visible only to other admins:
Node.js
Only users with admin or owner roles can create internal feedback. Regular users will receive a 403 Forbidden error.

API Key Feedback (On Behalf Of Users)

When using API keys for automated integrations, you can specify which user the feedback should be attributed to using the fromUserId parameter:
Node.js
Python
If fromUserId is not provided, feedback is attributed to the authenticated user (or workspace admin for API keys).

Validation Rules for fromUserId

When specifying a fromUserId, the API validates:
  1. User Exists: The user must exist in the same workspace
  2. User Active: The user account must be active (not suspended)
  3. Release Access: The user must have access to the release:
    • User is the release owner, OR
    • User has admin or owner role
Error Examples:
Node.js

Best Practices

When to Use fromUserId:
  • Automated Systems: Quality check tools providing feedback as specific QA users
  • Third-Party Integrations: External platforms creating feedback on behalf of workspace members
  • Workflow Automation: Release management systems attributing feedback to relevant team members
When NOT to Use fromUserId:
  • Direct User Actions: When the actual authenticated user is providing feedback
  • Anonymous Feedback: System-level feedback that shouldn’t be attributed to a specific user
Example Use Case:
Node.js

Admin Review (Admin Only)

Admins can approve or reject submitted releases:
Node.js
Only releases with status ‘submitted’ can be reviewed. Approved releases automatically trigger the auto-creation pipeline.

Auto-Creation Pipeline

When a release is approved, an automated pipeline generates Product and Asset records:

Pipeline Stages

Monitoring Auto-Creation

Node.js

Auto-Creation Status Values

  • null: Auto-creation not started (draft, submitted, under_review, rejected)
  • pending: Pipeline in progress
  • success: Product and Assets successfully created
  • failed: Pipeline encountered errors

Error Handling

If auto-creation fails, admins can investigate and revert:
Node.js
Status reversion creates a complete audit trail and clears auto-creation artifacts.

Querying and Filtering Releases

List All Releases

Node.js

Filter by Status

Node.js

Filter by Format and Type

Node.js

Search Releases

Node.js

Release Statistics

Node.js

Best Practices

Metadata Preparation Checklist

Before creating a release, prepare:
  • Complete artist information (UUIDs or names)
  • ISRC codes for all tracks
  • UPC code for the release (if applicable)
  • High-resolution artwork (minimum 3000x3000px)
  • Accurate release and pre-release dates
  • Complete contributor information with roles
  • Genre classifications (main and sub-genres)
  • Copyright and label information
  • Explicit content ratings

File Format Recommendations

Audio Files:
  • Format: WAV, FLAC, or high-quality MP3
  • Sample rate: 44.1 kHz or 48 kHz
  • Bit depth: 16-bit or 24-bit
  • Bitrate: 320 kbps (for MP3)
Artwork:
  • Format: JPG or PNG
  • Resolution: Minimum 3000x3000px
  • Color mode: RGB
  • File size: Under 10MB
Video Files:
  • Format: MP4, MOV, or AVI
  • Resolution: 1080p or 4K
  • Codec: H.264 or H.265

Error Handling Pattern

Node.js

Validation Before Submission

Node.js

Integration with DDEX

Releases integrate seamlessly with DDEX distribution:
Node.js

Status Workflow

Release Status Transitions

Editable Statuses

Only releases in ‘draft’ or ‘rejected’ status can be edited:
  • Update metadata
  • Add/remove/reorder tracks
  • Upload/delete media
  • Update track information

Admin-Only Operations

  • Review releases (approve/reject)
  • Revert release status
  • View internal feedback

Guided Release Builder (AI assistant)

Ask Roy — Royalti’s built-in AI assistant — can walk you through the entire release creation process conversationally, from gathering metadata to submitting for review. No need to construct API calls manually: just describe what you want and Roy handles the rest.

How it works

1

Start a conversation with Roy

Open the AI assistant in your dashboard and ask Roy to help you create a release. For example:
“Help me build a release for my new single ‘Summer Nights’ by The Wave Collective.”
Roy will ask for any missing details — release date, genre, explicit content rating, track ISRCs, and so on — before creating anything.
2

Roy creates a draft and asks for media

Once you have provided enough metadata, Roy creates a draft release and immediately pauses to collect your media files before running any checks. The builder suspends and prompts you to upload directly in the chat widget.Cover art (required — blocks submission)
  • JPEG or PNG, minimum 3000×3000 px
  • Drop the file into the chat or use the attachment button
  • The upload goes straight to your workspace storage and attaches to the draft the moment it lands
Audio files (optional)
  • One audio file per track
  • Roy shows a track list so you can match each file to the right track before uploading
  • Attach as many or as few tracks as you have ready
PDF documents (optional)
  • Any supporting release documents (distribution agreements, liner notes, etc.) attach as release documents
Once you have uploaded everything you want, type “done” and Roy moves on to the correctness checks.
Cover art is required. A release without artwork cannot be submitted — Roy will not proceed past the media step until at least one image that meets the size requirement is attached.
3

Roy runs correctness checks

With the draft and media in place, Roy runs four automated checks to surface any issues before submission:Findings are rated blocking (must be fixed before submission) or warning (recommended but not required).
4

Review the findings and confirm — or fix blocking issues

Roy presents the check results and asks whether to proceed.
  • If there are no blocking issues, confirm and Roy submits the release for review immediately.
  • If there are blocking issues, Roy explains what needs to be fixed. Correct the issues (for example, add a release date or fix an ISRC format), then ask Roy to try again. Blocking issues prevent submission until resolved.
“The genre is missing — can you set it to Pop and Electronic?” “Done. Anything else before I submit?” “No, go ahead.”
Confirmed releases move to submitted status automatically. An admin then reviews and approves them through the standard review process described in the Review and Approval Process section above.

Programmatic access via REST

The Guided Release Builder is also available as a REST API for integrations and automation. The build follows two suspend points:
  1. Media collection — the run suspends immediately after the draft is created and waits for you to upload cover art (and optionally audio / documents) via the file endpoints below, then resume with { confirm: true }.
  2. Review — after media is confirmed and correctness checks run, the run suspends again with findings for your sign-off.
Start a new build run:
Node.js
Upload cover art (and optionally audio / documents) before resuming. Media attaches to the draft through the standard release-media endpoints (multipart upload). Cover art under 3000×3000 px is automatically upscaled to 3000 px when it is at least 1500 px.
Node.js
Resume the media step once uploads are complete:
Node.js
Resume after reviewing the findings:
Node.js
Sending confirm: true at the review step when blocking issues exist has no effect — the release stays as a draft. Fix the blocking issues first (cover art missing is always blocking), then start a new build run.

Core Release Operations

Workflow Operations

Release Media

Track Media

Track Management