WORLDWIDE CREATOR API

Ship music to
EgaPlay.

Create artist channels, upload high-quality audio, monitor moderation, and retrieve earnings through one versioned API.

Rights policy: every upload—including authorized archival or web-sourced material—requires distribution rights. No release reaches listeners before approval.
Base URL: https://egaplay.egaforce.live/v1
Auth: X-Ega-Api-Key: ega_live_YOUR_KEY
Formats: MP3, WAV, FLAC, M4A, AAC, OGG, OPUS, AIFF, ALAC
Maximum: 500 MB

Authentication

Secret keys may belong to admins, staff, approved artists, or permitted users. They are shown once and stored as SHA-256 hashes. Never expose one in browser or mobile code.

channels:readchannels:writeuploads:readuploads:writeuploads:reviewearnings:readkeys:manage
POST/developer/keys
{"owner_id":"artist_123","owner_type":"artist","name":"Studio key","scopes":["channels:read","channels:write","uploads:read","uploads:write","earnings:read"]}
201 {"id":"uuid","api_key":"ega_live_…","prefix":"ega_live_…","scopes":["…"],"warning":"Copy this key now. It will not be shown again."}

Music channels

POST/channels
{"name":"Luna Vector","description":"Official artist channel"}
201 {"id":"uuid","name":"Luna Vector","slug":"luna-vector","status":"pending"}
GET/channels

Returns owned channels; staff and administrators can retrieve all channels.

Music uploads

FieldTypeRequired
audiobinary fileyes
channel_idUUIDyes
title, artist_name, genrestringyes
rights_holderstringyes
rights_attestedboolean; must be trueyes
source_typeoriginal, licensed, authorized_archive, authorized_scrapeno
album_title, language, explicitmixedno
202 {"upload_id":"uuid","status":"pending_review","checksum_sha256":"…","review_required":true}

Approval

GET/music/uploads

Lists visible submissions, review state, checksums, and notes.

POST/music/uploads/{id}/review
{"decision":"approved","note":"Metadata and rights verified."}

Requires uploads:review. Other decisions are rejected and changes_requested.

Earnings and balance

GET/channels/{id}/earnings
200 {"channel_id":"uuid","currency":"USD","available_balance_minor":128450,"pending_balance_minor":31720,"lifetime_earnings_minor":160170,"entries":[]}

Amounts use minor currency units: USD 128450 equals $1,284.50.

Upload request in 10 languages

Every example sends the same multipart fields and receives the documented 202 response.

Errors

StatusMeaning
401Missing or invalid key
403Missing scope or ownership
404Resource not found
413File exceeds 500 MB
415Unsupported format
422Invalid metadata or no rights attestation
429Rate limit exceeded