Documentation
Every function of the ChordMuse engine over HTTP: the same requests and results as the ChordMuse apps.
Your first call
Send your key in the Authorization header and a JSON request. Keys come from your dashboard; keep them on your servers, never in a website's or app's code.
curl engine-api.chordmuse.app/v1/progressions \
-H "Authorization: Bearer $CHORDMUSE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"mood": "Happy", "key": "G"}'Functions
The function list appears here once the API is live.
Errors and limits
- Errors are
{"error": {"code", "message"}}. Check thecode; the message is for people and may change. 400for a request the engine can't use (invalid_key,invalid_chord…),401for a missing or unknown key,403for a revoked key,429over your plan's limit.- Every response carries
RateLimit-RemainingandRateLimit-Reset; a429also carriesRetry-Afterin seconds. - The same request and
seedalways give the same result; theChordMuse-Engine-Versionheader says which engine answered.
AI assistants
GET /v1/tools lists every function as a tool definition (name, description, input schema) for an AI model. For assistants that speak MCP, add the engine as a remote MCP server (Streamable HTTP) with your key:
{
"mcpServers": {
"chordmuse": {
"url": "engine-api.chordmuse.app/mcp",
"headers": { "Authorization": "Bearer <your key>" }
}
}
}