Need help?
Partner API · v1

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 of api_key | timestamp | rawBody using 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 (use POST).
  • 422 - validation error (see error field).

Want a white-label panel?

Run your own branded distribution service on our platform and API.

See White Label