Skip to main content
This changelog tracks all changes to the Royalti.io API. Entries are organized by release date, with newest changes first.
2025-12-10
API v2.6.4

New Features

Summary Endpoints

Added 8 new summary endpoints that return aggregated statistics for key entities. All endpoints support role-based scoping where admins/owners see tenant-wide data, and regular users see only their associated data.New Endpoints:
EndpointDescription
GET /product/summaryTotal products, counts by status/format/type, revenue from ProductStats
GET /asset/summaryTotal assets, counts by type/explicit, revenue from AssetStats
GET /artist/summaryTotal artists, counts by label, revenue from ArtistStats
GET /user/summaryTotal users, counts by role/status, accounting totals
GET /split/summaryTotal splits, counts by type/level, conditional splits breakdown
GET /payment/summaryTotal payments, counts by status/currency, total amounts
GET /expense/summaryTotal expenses, counts by type/expenseableType, total amounts
GET /revenue/summaryTotal revenues, counts by type, total amounts
Example Response (Product Summary):
{
  "message": "success",
  "summary": {
    "total": 150,
    "byStatus": { "Live": 120, "Taken Down": 15, "Scheduled": 10, "Pending": 5 },
    "byFormat": { "Single": 80, "EP": 45, "Album": 25 },
    "byType": { "Audio": 140, "Video": 10 },
    "revenue": { "totalCount": 5000000, "totalRoyalty": 45000.50 }
  }
}
Key Features:
  • Role-based scoping: Regular users see only data for their associated artists
  • Parallel aggregation: All queries run concurrently for optimal performance
  • Consistent format: All endpoints return { message, summary } structure
View Product Summary API | View Asset Summary API
These summary endpoints are ideal for dashboard widgets and analytics displays where you need aggregated counts without fetching full entity lists.
2025-11-23
API v2.6.3

New Features

Royalty Source Filtering Enhancement

Added optional includeAll query parameter to GET /file/sources for more secure and precise source filtering.Parameter Details:
  • Name: includeAll
  • Type: String enum ("true" | "false")
  • Default: "true" (maintains backward compatibility)
  • Location: Query parameter
Behavior:
  • includeAll=true (default): Returns all active public sources (backward compatible)
  • includeAll=false: Returns only tenant-associated sources (more secure, filters to sources your organization has configured)
Use Case: Filter royalty sources to show only those relevant to your organization, improving security and user experience.Example:
// Get only your tenant's configured sources
const response = await fetch('https://api.royalti.io/file/sources?includeAll=false', {
  headers: { 'Authorization': `Bearer ${token}` }
});
View GET /file/sources API Reference

Security Improvements

Pattern Creator Admin Authentication

All /pattern-creator/* routes now require admin authentication via enhancedGodminAuth middleware.Impact:
  • Non-admin users can no longer access pattern creator endpoints
  • Pattern creator is now properly secured as an admin-only feature
Reason: Pattern creator is an administrative tool for managing source configurations and should only be accessible to system administrators.

Deprecated Endpoints

Pattern Creator Sources Endpoint Removed

Removed: GET /pattern-creator/sourcesStatus: Endpoint has been removed from the codebaseReplacement: Use GET /sources/admin instead for admin-level source managementReason: This endpoint was redundant with /sources/admin and has been consolidated to reduce code duplication and improve maintainability.Migration Guide:
- // Old approach
- const sources = await fetch('/pattern-creator/sources');

+ // New approach
+ const sources = await fetch('/sources/admin');
Breaking Change: Yes - API calls to /pattern-creator/sources will return 404 Not Found
If you were using GET /pattern-creator/sources, migrate to GET /sources/admin immediately. The old endpoint has been removed.

Improvements

  • Reduced code duplication by 70% through introduction of shared RoyaltySourceService
  • Enhanced service layer architecture for better maintainability
  • Improved Swagger documentation accuracy across all source-related endpoints
  • Updated integration guides with new parameter documentation
The includeAll parameter addition is fully backward-compatible. Existing API clients will continue to work without changes, receiving all active sources by default.
2025-11-06
Documentation v2.6.2

New Documentation

Default Settings API

Comprehensive documentation added for the Default Settings system - a powerful hierarchical configuration management feature for catalog items.New API Reference Pages (16 endpoints):Default Settings Management:
  • GET /defaultsettings/{entityType}/{entityId} - Retrieve default settings
  • GET /defaultsettings/settings/{settingId} - Get single setting by ID
  • POST /defaultsettings/{entityType}/{entityId} - Create default settings
  • PUT /defaultsettings/{entityType}/{entityId}/{settingId} - Update default settings
  • DELETE /defaultsettings/{entityType}/{entityId}/{settingId} - Delete default settings
  • POST /defaultsettings/clone - Clone settings between entities
Template Management:
  • GET /defaultsettings/templates - Browse reusable templates
  • GET /defaultsettings/templates/popular - Get most-used templates
  • POST /defaultsettings/templates - Create configuration templates
  • PUT /defaultsettings/templates/{templateId} - Update template
  • DELETE /defaultsettings/templates/{templateId} - Delete template
  • POST /defaultsettings/templates/{templateId}/apply - Apply template to entity
Preview & Testing:
  • POST /defaultsettings/preview/resolve - Preview inheritance chain
  • POST /defaultsettings/preview/asset - Preview asset defaults
  • POST /defaultsettings/preview/product - Preview product defaults
  • POST /defaultsettings/preview/release - Preview release defaults
New Integration Guide:Added comprehensive Default Settings Guide covering:
  • Hierarchical inheritance chain (User → Artist → Label → Catalog → Tenant)
  • Four settings categories: Content, Business, DDEX, and Validation
  • Template system for reusable configurations
  • Preview endpoints for testing before applying
  • Advanced use cases and best practices
  • Complete code examples in Node.js, Python, and cURL
Key Features Documented:
  • Inheritance Chain: Settings cascade from tenant-wide defaults down to user-specific overrides
  • Categories: Organize settings by content metadata, business info, DDEX configuration, and validation rules
  • Templates: Create and share reusable configuration presets
  • Preview System: Test how defaults will be applied without modifying data
  • Clone Operation: Duplicate settings between entities for consistency
Explore Default Settings API | Read Integration Guide
The Default Settings feature has been available since v2.6.0 but was previously undocumented. This release makes the full API specification available to all developers.
2025-11-04
API v2.6.1

New Features

Webhook Delivery System

Send real-time event notifications to your external systems with our new webhook infrastructure.
  • Configure webhook endpoints per workspace with custom headers and authentication
  • Automatic retry with exponential backoff for failed deliveries
  • Monitor webhook health and delivery status in real-time
  • Secure webhook delivery with signature verification and rate limiting
  • Support for multiple event types: payments, royalty processing, asset changes, releases, and billing events
View Webhook Integration Guide

Enhanced Notification System

Stay informed with improved multi-channel notifications across your workspace.
  • Multi-channel notification support (email, SMS, push, in-app)
  • Customizable notification templates for different event types
  • User-level notification preferences
  • Real-time event routing and delivery

Improvements

  • Enhanced webhook delivery retry logic for better reliability
  • Improved notification routing performance
  • Better error handling and status reporting for webhook endpoints
  • Updated integration guides with webhook examples
This release is fully backward-compatible with v2.6.0. No breaking changes.
2025-11-03
API v2.6.0

New Endpoints

  • GET /accounting/{id}/stats - Get detailed accounting statistics
  • POST /ddex/ern/generate - Generate ERN messages for digital distribution
  • GET /royalties/analytics/artist - Advanced artist revenue analytics

Breaking Changes

The /artist/{id} endpoint now requires the includeStats query parameter to return statistics. Previously this was included by default.Migration: Add ?includeStats=true to your API calls if you need statistics data.

Improvements

  • Enhanced error messages for validation failures
  • Improved performance for bulk operations (up to 50% faster)
  • Better caching strategies for frequently accessed data
  • Added pagination support to all list endpoints

Bug Fixes

  • Fixed issue with split calculations not totaling 100% in edge cases
  • Resolved timezone handling for international date fields
  • Corrected DDEX message validation for special characters
2025-10-15
API v2.5.2

Improvements

  • Optimized database queries for artist and asset endpoints
  • Enhanced webhook delivery retry logic
  • Improved file upload validation

Bug Fixes

  • Fixed duplicate entries in royalty processing
  • Resolved authentication token refresh issues
  • Corrected calculation errors in temporal splits
2025-09-28
API v2.5.0

New Endpoints

  • POST /splits/validate - Validate split configurations before saving
  • GET /releases/{id}/analytics - Get release performance metrics
  • POST /notifications/preferences - Configure notification settings

Improvements

  • Added multi-currency support for payments
  • Enhanced DDEX provider configuration options
  • Improved royalty file pattern recognition

Bug Fixes

  • Fixed edge case in split succession calculations
  • Resolved issues with large file uploads (>100MB)
  • Corrected artist merge functionality
2025-08-12
API v2.4.0

New Endpoints

  • GET /accounting/transactions/summary - Get transaction summaries
  • POST /artist/bulk - Create artists in bulk
  • GET /revenue/analytics/country - Geographic revenue breakdown

Improvements

  • Added BigQuery integration for advanced analytics
  • Enhanced file processing queue performance
  • Improved error handling across all endpoints