NØISEFR

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ètreSens
qRecherche en texte libre (nom, auteur, notes)
styleFiltre sur le style JAM : pop, rock, blues, jazz, hiphop, funk, metal
feelFiltre sur le tag de feel
difficultyeasy, medium, hard (sans distinction de casse)
sortnewest (par défaut), downloads, rating, bars
pageNuméro de page, à partir de 1, 1 par défaut
per_pageRé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.

Ensuite