API REFERENCE
Create Songs
On this page
/api/songsBulk create or fetch songs by ISRC. For each song, the API attempts to look up metadata via internal search. If no data is found, optional fallback fields (name, album, notes, artists) are used.
Authentication
See the authentication guide for API key and account access requirements.
Request
curl --request POST \
--url 'https://api.recoupable.dev/api/songs' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"songs": [
{
"isrc": "string"
}
]
}'Request body required
Array of songs to create or fetch
application/json
songsarray<CreateSongInput>requiredArray of song inputs for bulk create/fetch
Item properties for songs
isrcstringrequiredInternational Standard Recording Code of the song to create or fetch
namestringOptional. Song name, applied only if internal search cannot find valid info
albumstringOptional. Album name, applied only if internal search cannot find valid info
notesstringOptional. Notes for the song, applied only if internal search cannot find valid info
artistsarray<string>Optional array of artist names, applied only if internal search cannot find valid info
Item properties for artists
string
Responses
200Songs created or fetched successfully+
application/json
statusstring · enumStatus of the request
Values: "success", "error"
songsarray<Song>Array of song objects with artist information
Item properties for songs
isrcstringInternational Standard Recording Code (primary key)
namestringName of the song
albumstringName of the album the song belongs to
notesstringNotes for 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)
errorstringError message (only present if status is 'error')
400Bad request - invalid parameters+
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
{
"description": "Bulk create or fetch songs by ISRC. For each song, the API attempts to look up metadata via internal search. If no data is found, optional fallback fields (name, album, notes, artists) are used.",
"requestBody": {
"description": "Array of songs to create or fetch",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateSongsRequest"
}
}
}
},
"responses": {
"200": {
"description": "Songs created or fetched successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SongsResponse"
}
}
}
},
"400": {
"description": "Bad request - invalid parameters",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SongsErrorResponse"
}
}
}
}
}
}