API REFERENCE
Remove Catalog Songs
On this page
/api/catalogs/songsBatch remove songs from a catalog by ISRC. Deletes the relationship in catalog_songs for each catalog_id and ISRC pair.
Authentication
x-api-key in header
bearerAuth bearer
Request
curl --request DELETE \
--url 'https://api.recoupable.dev/api/catalogs/songs' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"songs": [
{
"catalog_id": "YOUR_ID",
"isrc": "string"
}
]
}'Request body required
Array of songs to remove from catalog
application/json
songsarray<DeleteCatalogSongInput>requiredArray of songs for batch deletes
Item properties for songs
catalog_idstringrequiredCatalog ID from which the song will be removed
format: uuid
isrcstringrequiredSong ISRC to remove from the catalog
Responses
200Songs removed from catalog successfully+
application/json
statusstring · enumStatus of the request
Values: "success", "error"
songsarray<CatalogSong>Array of song objects with artist information
Item properties for songs
catalog_idstringCatalog ID this song entry is associated with
format: uuid
isrcstringInternational Standard Recording Code (primary key)
namestringName of the song
albumstringName of the album the song belongs to
lyricsstringFull lyrics of the song
updated_atstringISO timestamp of when the song data was last updated
format: date-time
artistsarray<SongArtist>Array of artist objects associated with this song
Item properties for artists
idstringUnique identifier for the artist account
format: uuid
namestringnullableName of the artist (can be null)
timestampintegernullableTimestamp associated with the artist account (can be null)
paginationobjectPagination metadata for the response
Properties for pagination
total_countintegerTotal number of songs in the catalog
pageintegerCurrent page number
limitintegerNumber of songs per page
total_pagesintegerTotal number of pages available
errorstringError message (only present if status is 'error')
400Bad request - missing catalog_id or isrc+
application/json
statusstring · enumStatus of the request
Values: "error"
errorstringError message describing what went wrong
401Unauthorized - missing or invalid credentials+
application/json
statusstring · enumStatus of the request
Values: "error"
errorstringError message describing what went wrong
403Forbidden - the catalog does not belong to the authenticated account+
application/json
statusstring · enumStatus of the request
Values: "error"
errorstringError message describing what went wrong
Full specification
Download the OpenAPI file for complete schemas, constraints, and examples.
Download releases.jsonView operation source
{
"security": [
{
"apiKeyAuth": []
},
{
"bearerAuth": []
}
],
"description": "Batch remove songs from a catalog by ISRC. Deletes the relationship in catalog_songs for each catalog_id and ISRC pair.",
"requestBody": {
"description": "Array of songs to remove from catalog",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DeleteCatalogSongsRequest"
}
}
}
},
"responses": {
"200": {
"description": "Songs removed from catalog successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CatalogSongsResponse"
}
}
}
},
"400": {
"description": "Bad request - missing catalog_id or isrc",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CatalogSongsErrorResponse"
}
}
}
},
"401": {
"description": "Unauthorized - missing or invalid credentials",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CatalogSongsErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden - the catalog does not belong to the authenticated account",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CatalogSongsErrorResponse"
}
}
}
}
}
}