/v1/meta
Spec
Try it live
10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.
It works. Grab an API key and use it in your project.
Get an API keyCode snippets
curl "https://api.oanor.com/musictheory-api/v1/meta" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/musictheory-api/v1/meta", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/musictheory-api/v1/meta");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
"https://api.oanor.com/musictheory-api/v1/meta",
headers={"x-oanor-key": "oanor_test_..."}
)
Example response
A real response from this endpoint, captured by the latest health check.
{
"data": {
"notes": "Notes use C, C#, Db … B (case-insensitive). Set accidental=flat to spell with flats. This is pitch-class theory; for note frequencies use a music-note API.",
"service": "musictheory-api",
"endpoints": {
"GET /v1/meta": "This document.",
"GET /v1/chord": "Chord tones from a root and chord type.",
"GET /v1/scale": "Scale notes from a root and mode.",
"GET /v1/interval": "Semitones and interval name between two notes.",
"GET /v1/transpose": "Transpose notes by a number of semitones."
},
"chord_types": [
"6",
"7",
"9",
"major",
"minor",
"diminished",
"augmented",
"major7",
"minor7",
"dominant7",
"diminished7",
"half-diminished7",
"minormajor7",
"sus2",
"sus4",
"minor6",
"add9",
"power"
],
"description": "Music theory: intervals, transposition, chords and scales over the 12-tone chromatic scale.",
"scale_modes": [
"major",
"natural-minor",
"minor",
"harmonic-minor",
"melodic-minor",
"dorian",
"phrygian",
"lydian",
"mixolydian",
"locrian",
"pentatonic-major",
"pentatonic-minor",
"blues",
"chromatic",
"whole-tone"
]
},
"meta": {
"timestamp": "2026-06-05T19:50:12.252Z",
"request_id": "e10d6720-2365-426a-9519-a15023759ac0"
},
"status": "ok",
"message": "Meta",
"success": true
}