Developer infrastructure
Approved tools can read an artist's Casset with permission.
Artists do not need the API to launch an app. This page is for developers, labels, and future integrations that need permissioned access to artist-approved songs, visuals, demos, drops, and profile context.
Approved app reads Connor's Casset200 OK · 112 KB"handle": "connor", "name": "Connor James", "isVerified": false, "url": "https://casset.fm/connor", "counts": { tracks: 58, visuals: 9, releases: 1 }, "tracks": [{ "id": "connor-lose-you", "title": "lose you", "kind": "ORIGINAL" }], // +57 more "endpoints": { ask: "https://casset.fm/api/agents/artists/connor/ask" }
This is what an approved app can read from Casset: the artist profile, tracks, visuals, releases, and useful links.
The simple version
The API is a permissioned door for approved integrations.
The artist-facing product is still simple: claim a handle, add songs, customize, and share the app. The API exists so approved developers can build on artist-controlled data later without scraping pages or asking artists to upload the same material again.
You keep the house
Songs, visuals, demos, and drops stay organized inside the artist's Casset.
Developers request access
Websites, AI assistants, labels, and fan apps can read only the parts an artist allows.
No launch dependency
Artists can launch their app without touching this page or understanding API keys.
Why this matters
Streaming plays the song. Casset carries the release context.
Spotify and Apple Music are great for listening. Casset is for the demos, visuals, drops, links, and unlocks that make the song easier to understand and support.
A streaming link tells people what to play. It usually does not explain the demos, visuals, samples, private drops, alternate versions, fan moments, or the story behind the song. Casset keeps that context in one place so approved tools can use it.
Streaming platforms
- · song title
- · cover art
- · artist name
- · duration
- · play button
Casset
- + songs and demos
- + visuals and behind the scenes
- + private drops
- + alternate versions
- + artist story and fan experiences
Artist control
Approved tools can read artist-approved data. Random scrapers cannot.
Think of the Casset API like a locked door to your artist profile. You decide who gets a key. Public things can stay public. Private drops, unreleased songs, fan data, payments, and raw files stay private unless you allow access.
The goal is simple: help good tools understand your music without giving everyone your private files.
You choose what is public
Your public profile, public tracks, public visuals, and approved links can be used by outside tools.
Private work stays private
Unreleased songs, private drops, raw files, fan data, payments, and drafts are not exposed by default.
Access can be approved
You can let trusted apps, agents, labels, or partners read the parts of your Casset they need.
Access can be turned off
API keys can be limited, tracked, rate-limited, and revoked.
Casset Apps
Build inside the artist's World. Keep the host in charge.
Casset Apps are trusted audiovisual capabilities mounted inside an existing Profile World, not microsites or arbitrary integrations. The Store handles artist-scoped installation; the internal Developer Portal rehearses reviewed releases; the host-owned Artist Runtime handles authorization and playback continuity.
Store
Artists install trusted capabilities.
The Casset Apps Store is a feature-gated, curated catalog of approved, code-owned Apps. Artists can install, enable, place, configure bounded access, or remove an App without changing their catalog or playback authority.
/studio/appsDeveloper Portal
Build against a reviewed host contract.
The internal Portal at /studio/apps/developer keeps drafts artist-scoped in the browser, then validates the manifest, Track fixture, permissions, timeline, theme, and Profile Simulator proof on the server. It activates only the reviewed Pretty Shades World and Mood Ring candidates today.
/api/studio/apps/developer/activateArtist Runtime
The host owns the song.
Every launch goes through fresh server authorization. Casset keeps identity, entitlements, playback time, transport, framing, navigation, and exit in the host; App code receives a bounded runtime projection rather than raw audio URLs, tokens, or a second playback clock.
/api/apps/runtime/launchCurrent host vocabulary
Placement: STUDIO_APP_STORE · MEDIA_FOOTER · ARTIST_APP_ROUTE · PROFILE_PRESENTATION. Runtime contexts: PROFILE_SURFACE · TRACK_RUNTIME · PROFILE_PRESENTATION.
What is not public yet
The repository-local @casset/apps alpha SDK and three downloadable starters support local development. There is still no public npm release, CLI, developer credential, OAuth delegation, open submission queue, remote bundle host, or arbitrary third-party execution API. External HTTP/Agent integrations remain a separate permissioned surface.
What tools can read
One artist profile. Many places it can show up.
This is the technical part, but the idea is simple. Casset organizes your songs, visuals, drops, demos, and profile information so approved tools can read them cleanly instead of scraping pages or asking you to upload the same files again.
Available now
/api/agentsLivePublic
What Casset can share
A public list of what the API supports. This helps apps understand how to connect to Casset.
/api/agents/artists/{handle}Private betaAPI key required
Artist profile bundle
The approved artist profile: bio, counts, tracks, visuals, releases, and useful links. Private files, payments, and fan personal data are not included.
· tracks[]Private betaAPI key required
Songs and versions
Track IDs, titles, original songs, AI versions, durations, posters, and basic song info that other tools can reference.
· visuals[]Private betaAPI key required
Visual media
Cover art, behind-the-scenes clips, hooks, and visuals connected to the songs.
/api/agents/artists/{handle}/askPrivate betaAPI key required
Ask the artist archive
Lets an approved AI assistant answer questions using the artist-approved Casset archive instead of guessing from the internet.
/api/agents/releases/{id}/lineageLivePublic · rate-limited
How a song was made
Connects demos, samples, ideas, versions, and finished releases so fans and tools can understand the story behind a track.
Coming next
drops · pre-releaseEmergingPublic
Drops
Pre-release campaigns, private drops, unlocks, and release moments.
momentsEmergingPublic
Fan moments
Fan-submitted clips, memories, and reactions tied to specific tracks or drops.
identities · projectsEmergingPublic
Artist identities
Main profiles, side projects, alter-egos, B-sides, and creative worlds.
casset.fm/{handle}?trackId={id}PlannedPublic
Song deep links
Links that open straight to a specific song, version, or drop inside an artist profile.
What stays private
Not everything needs to be shared. You choose the boundary.
Artists need control. Some things are public, some are for paying fans, and some should never leave the private workspace. Casset keeps those layers separate.
Public
Your public profile, released songs, public visuals, approved moments, and public links.
Fan access
Private drops, paid rooms, holder-only content, unreleased previews, and fan unlocks.
Private
Drafts, raw uploads, private notes, fan personal data, payments, unapproved moments, and analytics.
See the real thing
This is what approved tools can read. No mystery.
Developers can test the public catalog here. Artists do not need to understand the code. The important part is that Casset gives trusted tools a clean, safe way to understand the artist profile.
GET /api/agentsThen: fetch any artist bundle
curl https://www.casset.fm/api/agents/artists/connor \ -H "Authorization: Bearer $CASSET_API_KEY"
The discovery call is public — that response above is live. Data endpoints take a server-side key; keep CASSET_API_KEY on your backend.
Future integrations
One artist app can support approved external tools.
Once an artist has songs, visuals, demos, and drops organized in Casset, approved integrations can read the right context. This is infrastructure for what comes after the first artist app, not a step artists need to complete during onboarding.
For artists
Turn your Casset into a home base that other tools can understand.
- Stop rebuilding your artist story in every app
- Keep songs, visuals, demos, and drops connected
- Let approved tools read the right context
- Make private extras easier to sell or share
- Give AI assistants accurate info about your work
AI without the guessing
AI should understand your music from your source. Not from random scraps online.
If an AI assistant only sees a streaming link, it has to guess. If it can read your approved Casset archive, it can answer from your real songs, visuals, demos, drops, and notes. That makes the output more accurate and more useful for fans, teams, and tools.
Your source of truth
The artist-approved version of your profile, songs, visuals, and extras.
Less guessing
AI can answer from your actual archive instead of making things up.
Better fan tools
Fans can ask richer questions and get answers that point back to your work.
Cleaner team workflows
Labels, managers, and collaborators can find what they need faster.
Connected media
Songs, visuals, drops, and demos stay attached to the same artist profile.
You stay in control
Private material only becomes readable when access is approved.
Developer example
For developers, it is three simple steps. Find, read, ask.
Artists do not need to run this code. This is what an approved developer, label tool, or AI assistant can do behind the scenes: find what Casset supports, read an artist profile, then ask questions using the artist-approved archive.
public catalog# public, no key required curl https://www.casset.fm/api/agents
artist profile bundlecurl https://www.casset.fm/api/agents/artists/connor \ -H "Authorization: Bearer $CASSET_API_KEY"
ask the archive# ask about a track, release, visual, or drop curl https://www.casset.fm/api/agents/artists/connor/ask \ -H "Authorization: Bearer $CASSET_API_KEY" \ -d '{"question": "what songs has Connor made?"}'
The key is a server-side secret. Developers keep CASSET_API_KEY on their backend and never ship it to the browser. Artists just approve what should be readable.
Your artist home base
Do not make artists rebuild the same profile for every new tool.
An artist should not have to re-upload the same songs, visuals, links, demos, and release context into every new tool. Casset can become the organized source approved apps read from, while public and private boundaries stay under artist control.
Organized
Songs, visuals, demos, drops, and extras stay connected.
Reusable
Approved tools can read from the same source instead of asking you to start over.
Controlled
Public stays public, private stays private, and access can be approved or revoked.
Developer access
Build on Casset only when the artist approves it.
Casset's public artist app is the core product. The API is the controlled layer for developers, labels, and AI tools that need artist-approved context behind the scenes.