🎯 Album DSPs
Distribution platform assignments for album releases
Resource Overview
Album DSPs represent the many-to-many relationships between albums and Digital Service Providers (DSPs). This pivot resource manages which streaming platforms and digital stores an album should be distributed to, enabling targeted distribution strategies and platform-specific release management.
/album-dsps
album-dsps
Album owner-restricted
Schema
Required Relationships
- • album: The album being distributed (must be owned by authenticated user)
- • dsp: The Digital Service Provider for distribution
Attributes
Field | Type | Visibility | Description |
---|---|---|---|
id
|
integer | Public | Unique identifier for the album-dsp relationship |
Relationships
Relationship | Type | Required | Description |
---|---|---|---|
album
|
belongsTo | Required | The album to be distributed |
dsp
|
belongsTo | Required | The Digital Service Provider |
Available Includes
Direct Relations
- •
album
- •
dsp
Nested Relations
- •
album.user
- •
album.label
- •
album.status
Business Validations
- • User ownership: Can only manage DSP assignments for albums you own
- • Unique combination: Each album-DSP pair can only exist once
- • Active DSPs only: Can only assign albums to active/available DSPs
- • Authentication required: Must be logged in to manage distributions
API Endpoints
List Album DSPs
GET
GET /album-dsps
Query Parameters
include - Include relationships
page[size] - Items per page (default: 20)
Example Request
GET /album-dsps?include=album,dsp
Example Response
{
"data": [
{
"type": "album-dsps",
"id": "1",
"attributes": {
"id": 1
},
"relationships": {
"album": {
"data": { "type": "albums", "id": "123" }
},
"dsp": {
"data": { "type": "dsps", "id": "5" }
}
}
},
{
"type": "album-dsps",
"id": "2",
"attributes": {
"id": 2
},
"relationships": {
"album": {
"data": { "type": "albums", "id": "123" }
},
"dsp": {
"data": { "type": "dsps", "id": "8" }
}
}
}
],
"included": [
{
"type": "albums",
"id": "123",
"attributes": {
"title": "Digital Dreams",
"release_date": "2024-03-15"
}
},
{
"type": "dsps",
"id": "5",
"attributes": {
"name": "Spotify"
}
},
{
"type": "dsps",
"id": "8",
"attributes": {
"name": "Apple Music"
}
}
],
"meta": {
"page": {
"currentPage": 1,
"from": 1,
"lastPage": 1,
"perPage": 20,
"to": 2,
"total": 2
}
}
}
Create Album DSP
POST
POST /album-dsps
Request Body
{
"data": {
"type": "album-dsps",
"relationships": {
"album": {
"data": { "type": "albums", "id": "123" }
},
"dsp": {
"data": { "type": "dsps", "id": "5" }
}
}
}
}
Example Response
{
"data": {
"type": "album-dsps",
"id": "3",
"attributes": {
"id": 3
},
"relationships": {
"album": {
"data": { "type": "albums", "id": "123" }
},
"dsp": {
"data": { "type": "dsps", "id": "5" }
}
}
}
}
Delete Album DSP
DELETE
DELETE /album-dsps/{id}
Example Response
No response body. The album-DSP assignment has been successfully removed.
Usage Examples
Assign Album to Streaming Platform
POST /album-dsps
{
"data": {
"type": "album-dsps",
"relationships": {
"album": {
"data": { "type": "albums", "id": "123" }
},
"dsp": {
"data": { "type": "dsps", "id": "1" }
}
}
}
}
View Album Distribution Status
GET /album-dsps?include=album,dsp&filter[album]=123
Remove Album from Specific Platform
DELETE /album-dsps/{id}
First get the album-dsp ID from the list endpoint, then delete the specific assignment.
Business Context
Distribution Strategy Management
• Targeted Distribution: Choose specific platforms for strategic release planning
• Revenue Optimization: Different DSPs offer different revenue models and audience reach
• Geographic Strategy: Some DSPs are region-specific or have stronger presence in certain markets
• Release Timing: Stagger releases across platforms or exclude certain DSPs temporarily
• Content Policy: Some albums may not be suitable for all platforms due to content restrictions
• Bulk Management: Efficiently manage distribution for multiple albums simultaneously