the wire contract
One search.
One playlist.
This is an EverythingStar on-demand playlist for Chorus Encore. The game sends the jukebox search field as q; the provider calls the public Enchor API and returns .sng playlist entries.
https://everythingstar-enchor.happypaul55.com/ondemand.jsonEndpoints
GET /ondemand.json GET /ondemand.json?q=code%20monkey GET /ondemand.json?q=https%3A%2F%2Fenchor.us%2Fchart%2F<md5> GET /sng/<md5>.sng
No q returns the capability document. A text query searchesapi.enchor.us. An Enchor chart URL resolves that one chart through the API’s hash search. The answer is the normal playlist document with a songs array.
What an entry looks like
Each entry points its song at the proxy path for the chart package, and carries the title, artist, album, art, duration, preview cue and an offer built from Enchor’s noteCounts. medium becomes EverythingStar’snormal; a vocal chart becomes voice.chartType: "vocals", a lyrics-only chart becomes "lyrics".
{
"id": "enchor-367649",
"title": "Code Monkey",
"artist": { "name": "Jonathan Coulton" },
"durationMs": 189973,
"song": "https://everythingstar-enchor.happypaul55.com/sng/<md5>.sng",
"offer": {
"instruments": [
{ "role": "lead_guitar", "difficulties": ["easy", "normal", "hard", "expert"] }
],
"voice": { "chartType": "vocals", "parts": 1 }
}
}CORS and packaging
files.enchor.us does not send Access-Control-Allow-Origin, and EverythingStar fetches the whole package with fetch. The/sng/ route proxies the file, adds CORS and forwards Range requests. It does not store the package. The proxy only accepts a 32-character MD5 and the fixed Enchor host.
Search caching
Search answers are cached for five minutes at the edge. The public Enchor API has its own rate limits; when it reports one, this provider returns 503 withRetry-After so the game offers Try again.
EverythingStar contract
The full playlist, song and chart contract is the game’sPLAYLIST-API.md. The `.sng` package is described in §4.7. The official Enchor desktop client isBridge; this provider uses its public API, not its UI.