🎵 Music Verification API

Integrate music rights-verification, copy detection, and a clean library into your app.

Interactive reference →

Swagger UI — every endpoint, try requests live.

OpenAPI 3.1 spec →

Machine-readable; generate clients.

Integration guide →

Auth, full flow, webhooks, examples.

Base URL

https://api-music-verification.apps.kunjjee.com

Response envelope

{ "success": true,  "data": { … }, "message": "ok" }
{ "success": false, "data": null,  "message": "…", "error_code": "…" }

Authentication

Send a DJ-Drop-issued JWT: Authorization: Bearer <token>. Required claims: iss=djdrop, aud=music-verification, sub, role (dj service admin), verification_level, exp, jti. v1 signs with a shared HS256 secret.

The upload flow

StepCall
1 · current termsGET /api/v1/agreements/current
2 · acceptPOST /api/v1/uploads/agreementagreement_token
3 · uploadPOST /api/v1/uploads/song (multipart) → song_id
4 · pollGET /api/v1/uploads/{song_id}approved / blocked / flagged_copied

On flagged_copied the response carries a copy_report with the exact matched second-ranges so the producer can trim and re-upload.

Library feed (role: service)

GET /api/v1/library?limit=50&updated_since=<iso8601>&q=<text>

Webhooks

Status changes POST to your URL with an HMAC-signed body. Verify X-MV-Signature over "{X-MV-Timestamp}.{body}", reject >300s drift, dedupe on X-MV-Delivery-Id. Events: song.approved, song.blocked, song.flagged_copied, song.copyright_claimed, song.under_dispute, song.disabled, song.restored.

Full details & copy-paste examples in the integration guide.