Developers
Tansen Global Music API
Create releases, deliver them, follow store status and pull royalty statements from your own systems. JSON over HTTPS. Available on the label plan.
Authentication
Create a key in Studio → Settings → API keys and send it as a bearer token. Keys can manage releases, links and royalties; account, billing and payouts stay in the studio.
curl https://tansenglobal.com/api/releases \ -H "Authorization: Bearer tg_your_key"
Releases
GET /api/releasesList your releases with status, tracks and stores.
POST /api/releasesCreate a draft release.
{
"title": "Monsoon EP",
"primary_artist": "Riya Raag",
"type": "ep",
"release_date": "2027-01-15",
"genre": "Fusion",
"language": "Hindi",
"stores": ["spotify", "apple", "youtube"],
"tracks": [{ "title": "Barso Re", "isrc": "INABC2600001", "ai_usage": "none" }]
}PUT /api/uploads?name=cover.jpgUpload artwork or audio as the raw request body; returns { "file": "…" } to use as artwork or a track’s audio.
GET /api/releases/{id}/qcRun the store quality checks. Returns errors (blocking) and warnings.
POST /api/releases/{id}/submitSend the release to the stores. Fails with 422 and the list of problems if checks do not pass.
GET /api/releases/{id}Release with per-store status and activity.
POST /api/releases/importBulk-create drafts from CSV (text/csv body). Template: /api/releases/import/template.csv
Links & royalties
GET /api/releases/{id}/linkSmart link URL, clicks per store and fan sign-ups.
GET /api/royaltiesEarnings totals by store, country, month, artist and release (USD).
GET /api/royalties/statement.csvEvery royalty line: gross, commission, split and net.
PUT /api/releases/{id}/splitsSet collaborator splits.
{ "splits": [{ "email": "[email protected]", "pct": 20, "role": "Producer" }] }Errors
Errors return a non-2xx status with { "error": "message" }. 401 = bad key, 402 = needs a higher plan, 403 = not allowed with an API key, 422 = release checks failed.