ChordMuse Developers

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 the code; the message is for people and may change.
  • 400 for a request the engine can't use (invalid_key, invalid_chord…), 401 for a missing or unknown key, 403 for a revoked key, 429 over your plan's limit.
  • Every response carries RateLimit-Remaining and RateLimit-Reset; a 429 also carries Retry-After in seconds.
  • The same request and seed always give the same result; the ChordMuse-Engine-Version header 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>" }
    }
  }
}