Crate ships a built-in Lidarr v1 API shim mounted atDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/TheOutdoorProgrammer/crate/llms.txt
Use this file to discover all available pages before exploring further.
/api/v1/. This means any iOS app (or other client) that speaks the Lidarr API can point at your Crate server and manage your library — browsing artists and albums, toggling monitoring, searching for missing tracks, and triggering downloads — without any additional software or configuration. No Lidarr installation is needed. The shim translates between Lidarr’s data model and Crate’s, so operations in the client app flow through to Crate’s actual library database and download engine.
Authentication
The shim accepts any API key in theX-Api-Key request header or the
apikey query parameter. Crate has no built-in authentication of its own — the
API key is accepted unconditionally and is never validated. If you need to
restrict access, place a reverse proxy with auth (for example Cloudflare Zero
Trust, Authelia, or nginx basic auth) in front of Crate.
No extra configuration
Point your app at your Crate URL. That is all. There are no settings to enable or API keys to generate inside Crate — the/api/v1/ routes are always active.
- Helmarr (iOS)
- Other Lidarr-compatible apps
- Open Helmarr and go to Settings → Servers → Add Server.
- Set the Server URL to your Crate URL, for example
http://192.168.1.10:6969. - Enter any string in the API Key field.
- Tap Test — Helmarr will connect and load your library.
Concept mapping
Lidarr and Crate model music libraries differently. The shim translates between them transparently.| Lidarr concept | Crate equivalent | Notes |
|---|---|---|
Monitor "all" | Artist status watched | Full discography tracked |
Monitor "latest" | Watch newest album + enable new releases | Most recent album by year; future albums are auto-added |
| Quality profile | "Crate Quality" | Crate uses priority-ordered quality tiers instead of Lidarr-style profiles |
| Metadata profile | Active provider name | Shows whichever provider is set as primary (MusicBrainz, Deezer, etc.) |
| Root folder | CRATE_LIBRARY_PATH | Library directory with real disk stats from statfs |
| Monitored album | Album status watched | Tracks set to wanted |
| Unmonitored album | Album status ignored | Tracks cascade to ignored; existing owned and downloading states are preserved |
ArtistSearch command | Queue all wanted tracks for artist | Same as “Search wanted tracks” in the Crate UI |
AlbumSearch command | Queue wanted tracks for album(s) | Same as “Search wanted tracks” on the album page |
| ”Search for missing albums” on add | Auto-queue after watch | Queues all wanted tracks for the artist immediately after it is added |
Supported endpoints
System and infrastructure
System and infrastructure
| Method | Path | Description |
|---|---|---|
GET | /api/v1/system/status | Server info, version, OS, runtime |
GET | /api/v1/health | Health check; surfaces unreachable providers as warnings |
GET | /api/v1/diskspace | Free and total space for CRATE_LIBRARY_PATH |
GET | /api/v1/qualityprofile | Returns the single "Crate Quality" profile |
GET | /api/v1/metadataprofile | Returns the active provider as the metadata profile |
GET | /api/v1/rootfolder | Returns CRATE_LIBRARY_PATH with live disk stats |
GET | /api/v1/customfilter | Returns empty array (no custom filters) |
GET | /api/v1/tag | Returns empty array |
GET | /api/v1/languageprofile | Returns a stub English profile |
Artist CRUD
Artist CRUD
| Method | Path | Description |
|---|---|---|
GET | /api/v1/artist | List all watched artists with statistics |
GET | /api/v1/artist/lookup?term=… | Search provider for artists (flat array) |
GET | /api/v1/artist/{id} | Get single artist with full album/track data |
POST | /api/v1/artist | Add artist; honours monitor (all/latest) and searchForMissingAlbums in addOptions |
PUT | /api/v1/artist/{id} | Update artist (returns current state) |
DELETE | /api/v1/artist/{id} | Remove artist from library |
Album CRUD and monitoring
Album CRUD and monitoring
| Method | Path | Description |
|---|---|---|
GET | /api/v1/album?artistId=… | List albums for an artist with track statistics |
GET | /api/v1/album/{id} | Get single album with tracks |
PUT | /api/v1/album/monitor | Toggle monitoring for one or more album IDs; cascades track statuses |
DELETE | /api/v1/album/{id} | Remove album from library |
Tracks, queue, and search
Tracks, queue, and search
| Method | Path | Description |
|---|---|---|
GET | /api/v1/track?albumId=… | List tracks for an album |
GET | /api/v1/queue | Active download queue (excludes completed/failed) |
GET | /api/v1/queue/details | Same as /queue |
GET | /api/v1/wanted/missing | All tracks with status wanted |
GET | /api/v1/wanted/cutoff | Always returns empty (Crate has no cutoff concept) |
GET | /api/v1/search?term=… | Provider search returning {id, foreignId, artist} objects |
GET | /api/v1/calendar | Returns empty array |
GET | /api/v1/history | Returns empty paginated response |
Commands
Commands
Commands are submitted as
POST /api/v1/command with a JSON body. Crate
responds immediately with status: "completed" while the actual work runs
in the background.| Command name | Body fields | What Crate does |
|---|---|---|
ArtistSearch | artistId (integer) | Enqueues all wanted tracks for the artist |
AlbumSearch | albumIds (array of integers) or albumId (integer) | Enqueues all wanted tracks for the specified album(s) |
What is not supported
Interactive search (
GET /api/v1/release and POST /api/v1/release) is
not implemented — the endpoints return an empty array. Interactive search is a
Crate UI feature: open the track in the Crate web app, tap Search, and
browse every scored slskd result to pick one manually. This cannot be
replicated through the Lidarr shim.Tested apps
Helmarr
iOS — Full artist and album management, provider search, monitoring
toggles, and download queue. The primary tested client for the Crate Lidarr
shim.
Your app here
Tested another Lidarr-compatible app against Crate? Contributions to expand
shim coverage and update the tested-apps list are welcome in the Crate
repository.