White-Label API documentation
This API is for approved white-label / reseller partners running a child panel that connects to the SapneDigital mother platform. It is not a public open API - you need an API key and secret issued to your panel. Request access at whitelabel@sapnedigital.com.
Base URL
https://sapnedigital.com/api/
Authentication
Every request is signed. Nothing secret is sent over the wire - only a signature. Send these headers:
X-Api-Key- your panel's API key.X-Timestamp- current Unix time (seconds). Requests with a stale timestamp are rejected.X-Signature- HMAC-SHA256 ofapi_key | timestamp | rawBodyusing your API secret.
Signature formula:
signature = HMAC_SHA256( api_key + "|" + timestamp + "|" + rawBody , api_secret )
Example (PHP):
$ts = time();
$body = json_encode(['release' => $release]);
$sig = hash_hmac('sha256', $apiKey . '|' . $ts . '|' . $body, $apiSecret);
// Headers:
// X-Api-Key: $apiKey
// X-Timestamp: $ts
// X-Signature: $sig
// Content-Type: application/json
Endpoints
1. Validate license & pull branding
POST https://sapnedigital.com/api/license.php
Child panels call this on startup and periodically. If active is false, the panel should lock itself.
Request body: empty (auth headers only).
Response:
{
"ok": true,
"active": true,
"reason": null,
"panel": {
"name": "Panel name",
"billing_type": "annual",
"status": "active",
"expires_at": "2027-01-01",
"subdomain": "yourpanel",
"custom_domain": "music.yoursite.com",
"brand_logo_url": "https://.../logo.png",
"brand_color": "#a855f7"
},
"server_time": 1752000000
}
2. Push a release for review & delivery
POST https://sapnedigital.com/api/release.php
Call this whenever an artist on your panel uploads a track, so the release appears in the mother panel for review and delivery to stores.
Request body:
{
"release": {
"title": "Song title", // required
"album": "Album name",
"primary_artist": "Artist name",
"singer": "Singer",
"music_director": "Music director",
"lyricist": "Lyricist",
"genre": "Pop",
"language": "Hindi",
"label": "Label name",
"isrc": "INXXX2500001",
"upc_code": "0123456789012",
"release_date": "2026-08-15",
"remote_track_id": "your-side-id", // your panel's track id
"audio_url": "https://.../audio.wav",
"cover_url": "https://.../cover.jpg"
}
}
Response:
{ "ok": true, "release_id": 1234 }
On error, e.g. a missing title:
{ "ok": false, "error": "Missing release title." }
Errors
401- bad or missing signature / API key.405- wrong method (usePOST).422- validation error (seeerrorfield).
Want a white-label panel?
Run your own branded distribution service on our platform and API.
See White Label