Chart
L'endpoint /chart génère des graphiques à partir de données. Il supporte les types bar, line, pie et donut, et retourne soit une image SVG, soit des données JSON brutes.
curl -X POST \ "https://api.moxon.dev/v5/chart" \ -H "Content-Type: application/json" \ -d '{}'Envoyez la requête pour voir la réponse ici.
Le corps de la requête doit être en JSON :
typestringrequisType de graphique :
bar,line,pieoudonut- bar
- line
- pie
- donut
datajsonrequisObjet de données (voir structure ci-dessous)
titlestringoptionnelTitre du graphique affiché en haut
widthnumberoptionnelLargeur SVG en pixels (responsive si omis)
heightnumberoptionnelHauteur SVG en pixels (responsive si omis)
colorsstringoptionnelTableau de couleurs hexadécimales pour les datasets (palette par défaut sinon)
bgstringoptionnelCouleur de fond (hex, transparent si omis)
legendbooleanoptionnelAfficher la légende :
true(défaut) oufalsemode"svg" | "data"optionnelFormat de réponse :
"svg"(défaut, retourne SVG) ou"data"(retourne JSON)
data doit être un objet JSON (pas une chaîne) dans le corps de la requête. La structure dépend du type de graphique.
Graphiques bar et line :
{
"labels": ["Jan", "Fév", "Mar"],
"datasets": [
{ "label": "Ventes", "values": [120, 200, 150] },
{ "label": "Coûts", "values": [80, 95, 110] }
]
}Graphiques pie et donut :
{
"labels": ["Jan", "Fév", "Mar"],
"values": [120, 200, 150]
}labels: tableau de chaînes — max 20 labelsdatasets(bar/line) : tableau d'objets — max 5 datasets, chacun avec unlabelet un tableauvaluesde même longueur quelabelsvalues(pie/donut) : tableau unique de nombres non négatifs de même longueur quelabels
Le champ
datadoit être un objet JSON, pas une chaîne. Envoyer la requête avecContent-Type: application/json.
- Quand
modeest"svg"(défaut) : retourneContent-Type: image/svg+xmlavec le corps SVG - Quand
modeest"data": retourne un objet JSON avec les données du graphique
Si les paramètres sont manquants ou invalides, l'API retournera une erreur :
- 400
Please provide a valid chart type (?type=bar|line|pie|donut)Le paramètretypeest manquant ou invalide - 400
data must contain a labels arrayLe champdata.labelsest manquant - 400
data must contain a datasets arrayLe champdata.datasetsest manquant - 400
Too many labels (max 20)Le tableau labels dépasse 20 entrées - 400
Too many datasets (max 5)Le tableau datasets dépasse 5 entrées - 400
Each dataset must have the same number of values as labelsIncompatibilité de longueur des datasets
Mis à jour le 25 mai 2026