// PUBLIC API v1
DeVeLOPeR API AND MCP DOCUMeNTATION
Every extension, plugin, or AI agent is a thin client over this API. Generate an API key in Account settings, then pass it as a Bearer token. Rate limit: 60 requests / minute / key.
01 / AUTH
export RELEASE_MACHINE_API_KEY="rm_live_..." curl https://eumfrywtpfyyafsxllwt.supabase.co/functions/v1/api-v1/v1/releases \ -H "Authorization: Bearer $RELEASE_MACHINE_API_KEY"
02 / ENDPOINTS
GET
/v1/releasesList your releases
curl https://eumfrywtpfyyafsxllwt.supabase.co/functions/v1/api-v1/v1/releases \ -H "Authorization: Bearer $RELEASE_MACHINE_API_KEY"
GET
/v1/releases/:id/assetsEvery ready asset for a release
curl https://eumfrywtpfyyafsxllwt.supabase.co/functions/v1/api-v1/v1/releases/RELEASE_ID/assets \ -H "Authorization: Bearer $RELEASE_MACHINE_API_KEY"
POST
/v1/analyzeAnalyze audio → BPM / KEY / ENERGY / MOOD / MEANING / ANCHORS / PALETTE
curl -X POST https://eumfrywtpfyyafsxllwt.supabase.co/functions/v1/api-v1/v1/analyze \
-H "Authorization: Bearer $RELEASE_MACHINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"audioUrl":"https://example.com/track.mp3"}'POST
/v1/coversGenerate cover directions (paid release required · otherwise 402)
curl -X POST https://eumfrywtpfyyafsxllwt.supabase.co/functions/v1/api-v1/v1/covers \
-H "Authorization: Bearer $RELEASE_MACHINE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"orderId":"RELEASE_ID","count":4}'GET
/v1/releases/:id/hooks15/30s hook candidates for a release
curl https://eumfrywtpfyyafsxllwt.supabase.co/functions/v1/api-v1/v1/releases/RELEASE_ID/hooks \ -H "Authorization: Bearer $RELEASE_MACHINE_API_KEY"
GET
/v1/releases/:id/campaignCampaign schedule for a release
curl https://eumfrywtpfyyafsxllwt.supabase.co/functions/v1/api-v1/v1/releases/RELEASE_ID/campaign \ -H "Authorization: Bearer $RELEASE_MACHINE_API_KEY"
GET
/v1/dnaYour Artist DNA summary (ERA subscribers only)
curl https://eumfrywtpfyyafsxllwt.supabase.co/functions/v1/api-v1/v1/dna \ -H "Authorization: Bearer $RELEASE_MACHINE_API_KEY"
03 / ENVELOPE + ERRORS
// success
{ "ok": true, "data": { ... } }
// error
{ "ok": false, "error": { "message": "...", "status": 402, "code": "payment_required" } }
// codes: 401 invalid/revoked key · 402 payment_required · 403 era_required
// 404 not_found · 413 payload too large · 429 rate_limit_exceeded// MCP SERVER
ADD RELEASE MACHINE TO ANY AI AGENT.
Remote MCP over streamable HTTP. Works with Claude Desktop, Cursor, and any MCP-compatible client.
ENDPOINT
https://eumfrywtpfyyafsxllwt.supabase.co/functions/v1/mcpCLAUDE DESKTOP CONFIG
{
"mcpServers": {
"release-machine": {
"url": "https://eumfrywtpfyyafsxllwt.supabase.co/functions/v1/mcp",
"headers": {
"Authorization": "Bearer rm_live_YOUR_KEY_HERE"
}
}
}
}TOOLS EXPOSED
- · list_releases
- · get_release_assets (release_id)
- · analyze_track (audio_url)
- · get_hooks (release_id)
- · get_dna — ERA only
- · get_campaign (release_id)
- · generate_covers (release_id) — 402 if release not paid