Référence
API
Une API JSON publique, en lecture seule, pour parcourir la bibliothèque de morceaux de ce site.
Cette API est en service maintenant que la bibliothèque de morceaux est sur ce site : voir Site web.
Vue d'ensemble
Une API JSON publique, en lecture seule, pour parcourir les morceaux partagés. Pas d'authentification. CORS est ouvert (*). Limite de débit : 120 requêtes/minute/IP ; au-delà tu reçois un 429 avec un en-tête Retry-After. Les réponses réussies sont mises en cache une minute.
Seuls les morceaux publiés sont rendus. Un id inconnu, ou un morceau non publié, répond 404 :
{ "error": { "code": "not_found", "message": "No published song with that id." } }GET /api/v1/songs
Lister et chercher des morceaux.
Paramètres de requête :
| Paramètre | Sens |
|---|---|
q | Recherche en texte libre (nom, auteur, notes) |
style | Filtre sur le style JAM : pop, rock, blues, jazz, hiphop, funk, metal |
feel | Filtre sur le tag de feel |
difficulty | easy, medium, hard (sans distinction de casse) |
sort | newest (par défaut), downloads, rating, bars |
page | Numéro de page, à partir de 1, 1 par défaut |
per_page | Résultats par page, 20 par défaut, 50 au plus |
Il n'y a pas de filtre sur la tonalité ; key est seulement rendu, pas lu.
Forme de la réponse :
{
"songs": [
{
"id": "d_OxIkOTen",
"name": "Amber Skyline",
"author": "NØISE",
"style": "rock",
"feel": "straight",
"key": "Am",
"difficulty": "medium",
"bars": 32,
"ratingAvg": 4.5,
"ratingCount": 2,
"downloadCount": 17,
"updatedAt": "2026-05-01T12:00:00.000Z"
}
],
"page": 1,
"per_page": 20,
"total": 137
}author et key valent null quand le morceau ne les porte pas. id est l'id public du morceau, le même que dans l'URL de sa page.
GET /api/v1/songs/{id}
Les métadonnées complètes du morceau : les champs ci-dessus plus notes (la description), kit, bpm, tuning, form (les sections dans l'ordre, par ex. INTRO · VERSE ×2 · CHORUS), playsOnce, sourceUuid (le morceau dont il a été construit, s'il y en a un) et createdAt.
GET /api/v1/songs/{id}/chart
La grille d'accords comme données lisibles, dans la même forme que celle que prend le build_song du serveur MCP : les mesures en tableaux, les accords en symboles, les doigtés en tags.
{
"id": "d_OxIkOTen",
"songUuid": "6F1A0E9C-3D4E-4B11-9A0B-1C2D3E4F5A6B",
"song": {
"name": "Amber Skyline",
"key": "Am",
"bpm": 120,
"sections": [
{ "name": "VERSE", "repeats": 2, "bars": ["Am", "F", "C", "G"] }
]
},
"notes": []
}songUuid est l'id à l'intérieur du document, pour la filiation quand tu construis dessus ; notes liste, en mots simples, tout ce que le morceau stocké contient et que cette forme ne peut pas exprimer.
GET /api/v1/songs/{id}/file
Le fichier .noisesong du morceau (Content-Type: application/x-noise-song+json), prêt à télécharger ou à passer à un lien noise:// : voir Le fichier .noisesong et le lien noise://. Un téléchargement est compté une fois par IP et par jour.