/healthAPI, storage and database status.
Fablesh CreatorDevelopers
Public catalog, podcast and media endpoints for Fablesh, Creator Studio and partner integrations. Read endpoints are public; write actions require an API key.
Base URL
x-api-key or an admin token.Public API
/healthAPI, storage and database status.
/api/catalog/artistsAll catalog artists. Filter with ?q=. Slim rows without track arrays.
/api/catalog/artists/{slug}One artist with bio, image, Spotify link and all releases.
/api/catalog/releasesAll releases. Filter with ?type=single|ep|album, ?artist={slug}, ?q=.
/api/catalog/releases/{id}One release: tracks, artwork, UPC, label, release date, Spotify link.
/api/catalog/tracksAll tracks. Filter with ?artist=, ?release=, ?q= (matches ISRC too).
/api/catalog/tracks/{id}One track: audio URL, ISRC, duration, play count, Spotify link.
/api/catalog/summaryEverything in one payload: { artists, releases, tracks }. Aliases: /api/public/catalog/summary, /api/v1/catalog/summary.
/api/catalog/artist-namesLightweight autocomplete list: name, slug, trackCount.
/api/catalog/playlists/autoAlgorithmic playlists that grow by themselves: most played, radio favourites, fresh drops, hidden gems, genre mixes, daily mix.
/api/catalog/playlists/auto/{id}One auto playlist with its current tracks.
/api/tracks/{id}/playIncrements the play counter. Called automatically by the web player.
/api/radio/stationsBoth broadcast stations and the algorithmic playlists, marked kind: live | playlist.
/api/radio/liveNow playing, listeners and recent history for Radio Uppsala and Radio Roslagen. Normalised, so no AzuraCast call needed.
/api/radio/stations/{id}The station's tracks, spread so no artist repeats back to back. Order is stable for a day. ?limit= up to 200.
/podcastsAll public shows.
/podcasts/{id}One show with metadata and artwork.
/podcasts/{id}/episodesEpisodes for a show.
/rss/{slug}.xmlPublic RSS feed per show, ready for podcast apps.
/api/assetsUploaded media assets with metadata and processing status.
/api/assets/{id}One asset including variants and metadata.
/api/hub/feedThe Creator Hub feed. Public read; posting requires sign-in.
/api/hub/collaboratorsPublished collaborator profiles.
/api/hub/marketplaceServices offered by creators.
Protected
/api/assets/direct-upload-urlPresigned PUT URL for direct-to-R2 audio upload.
/api/assets/complete-direct-uploadRegisters a finished upload and queues processing.
/api/importImports audio from a source URL.
/api/images/uploadMultipart image upload (artwork, artist photos) to R2.
/api/hub/files/upload-urlPresigned PUT URL for Creator Hub project files (audio, artwork, PDF…).
/api/catalog/artists/{id}Name and image.
/api/catalog/releases/{id}Title, type, label, release date, UPC, genres, artwork URL.
/api/catalog/tracks/{id}Title, track number, ISRC, duration.
/api/catalog/releases/{id}Removes a release and its tracks. Storage files are kept.
/api/catalog/tracks/{id}Removes a track; empty releases are removed too.
/api/catalog/dedupeRemoves uploaded duplicates of catalog tracks. Dry run by default; { "apply": true } deletes.
/api/catalog/tracks/{id}/attach-audioAttaches an uploaded audio file to a catalog track.
/api/artwork/autoFinds an official cover (Deezer) or generates one (AI), stores it in R2.
/api/assets/{id}/metadataTitle, artist, release, ISRC, artwork URL and more.
/api/assets/{id}Removes the record — audio files stay in storage.
/api/assets/{id}/transcodeQueues processing for uploaded media.
/api/assets/{id}/publish/{destination}Queues distribution, e.g. destination radio-uppsala.
/api/hub/releases/{id}/distributeQueues radio distribution for a release's tracks.
/podcastsCreates a show.
/podcasts/import/rssImports an existing show — episodes and artwork included; optional ongoing sync.
/podcasts/{id}/episodesAdds an episode. Audio via …/audio/upload-url, then …/process and …/publish.
/podcasts/artwork/backfillRe-reads the source feeds and pulls in per-episode images that were missing.
/api/podcasts/artwork/consolidateMoves show and episode covers into the image bucket. ?apply=true to write.
/podcasts/audio/purge-hostedRemoves audio we used to host; episodes link to the publisher's own file. ?apply=true to write.
/api/catalog/artwork/mirrorPulls album, single, release, artist and track art hosted elsewhere into fablesh-images. Runs automatically every 30 min; ?apply=true forces a full pass.
/api/catalog/artwork/migrate-legacyFetches artwork still hosted on the retired Lovable storage. ?apply=true to write.
/api/artwork/autoFinds a cover on Deezer, reuses release art, or generates one with AI. Returns 202 and applies it when done.
/api/hub/projectsYour Creator Hub projects. Create with POST; update/delete on /{id}.
/api/hub/feedPublishes a feed post. Like via /{id}/like, reply via /{id}/comments.
/api/hub/notificationsRadio plays, finished renders, requests. Mark read via POST …/read.
/api/hub/radio/playsTotals, per station, top tracks and recent plays of your catalog.
/api/hub/collaboratorsCreates or updates your directory profile.
/api/hub/marketplacePuts a service up for sale.
/api/hub/requestsSends an inquiry to another creator. GET lists sent and received.
/api/hub/studio/eventsJob feed over Server-Sent Events. Token as ?token= query parameter.
/api/me/exportGDPR export of your account, roles and playlists as JSON.
/api/mePermanently removes your account, playlists and roles.
/api/auditTrail of all write operations (who, what, when, outcome).
Examples
curl https://api.fablesh.com/healthcurl 'https://api.fablesh.com/api/catalog/summary?limit=100'curl https://api.fablesh.com/podcastsNext
Add /api/public/search?q=... across artists, releases, tracks, podcasts and creators.
Expose tool list, examples and invoke documentation for agent integrations.
Document API scopes such as read:catalog and write:submissions.