VDMDéveloppeurs

Commentaires

Commenter une VDM

POST/comment/{article}Jeton membre obligatoire

Jeton utilisateur obligatoire. Renvoie le commentaire (201), 400 si le contenu est vide, 404 si la VDM n’existe pas ou si parent n’est pas un commentaire de cette VDM. Si le commentaire est une réponse, l’auteur du commentaire parent est notifié. Un membre peut commenter une fois toutes les 30 secondes. Les commentaires contenant des mots interdits sont signalés.

Paramètres

contentobligatoire
chaîne, obligatoire — texte du commentaire
parentfacultatif
entier, facultatif — id du commentaire auquel vous répondez
Requête
curl -X POST "https://www.viedemerde.fr/api/v2/comment/{article}" \
  -H "X-VDM-Api-Key: $API_KEY" \
  -H "X-VDM-Api-Token: $TOKEN" \
  --data-urlencode "content=…"
Réponse 201
{
  "data": {
    "id": 175,
    "date": null,
    "status": 0,
    "parent": 0,
    "content": "Same thing happened to me last week, you're not alone.",
    "article": 518664,
    "author": {
      "id": 4294967294,
      "username": "JohnDoe",
      "avatar": "/images/default-avatar.jpg",
      "title": "mr"
    },
    "thumbup": 0,
    "thumbdown": 0,
    "userthumbed": 0,
    "report": 0,
    "isModerator": false,
    "replies": null
  },
  "meta": {},
  "badge": [],
  "badge_display": []
}

Réponse réelle de l'API, sur des données de test. Les listes sont coupées à 2 éléments.

Erreurs possibles

401

{
  "data": [
    "Vous devez être authentifié pour accéder à cette fonction."
  ],
  "meta": {},
  "badge": [],
  "badge_display": []
}

404

{
  "data": [
    "VDM introuvable."
  ],
  "meta": {},
  "badge": [],
  "badge_display": []
}

Modifier un de vos commentaires

POST/comment/{comment}/editJeton membre obligatoire

Jeton utilisateur obligatoire. Vous ne pouvez modifier que vos propres commentaires (400 sinon). Renvoie le commentaire modifié (201).

Paramètres

contentobligatoire
chaîne, obligatoire — nouveau texte du commentaire
Requête
curl -X POST "https://www.viedemerde.fr/api/v2/comment/{comment}/edit" \
  -H "X-VDM-Api-Key: $API_KEY" \
  -H "X-VDM-Api-Token: $TOKEN" \
  --data-urlencode "content=…"
Réponse 201
{
  "data": {
    "id": 175,
    "date": "2026-10-30T08:56:00+01:00",
    "status": 0,
    "parent": 0,
    "content": "Same thing happened to me last week, you're not alone!",
    "article": 518664,
    "author": {
      "id": 4294967294,
      "username": "JohnDoe",
      "avatar": "/images/default-avatar.jpg",
      "title": "mr"
    },
    "thumbup": 0,
    "thumbdown": 0,
    "userthumbed": 0,
    "report": 0,
    "isModerator": false,
    "replies": null
  },
  "meta": {},
  "badge": [],
  "badge_display": []
}

Réponse réelle de l'API, sur des données de test. Les listes sont coupées à 2 éléments.

Erreurs possibles

401

{
  "data": [
    "Vous devez être authentifié pour accéder à cette fonction."
  ],
  "meta": {},
  "badge": [],
  "badge_display": []
}

404

{
  "data": [
    "VDM introuvable."
  ],
  "meta": {},
  "badge": [],
  "badge_display": []
}

Récupérer un commentaire par son id

GET/comment/{comment}/{replies}Clé d'API seule

Utilisez /comment/{comment}/replies pour inclure les réponses du commentaire. Avec authentification, vos pouces sont inclus. Renvoie 404 si le commentaire n’existe pas.

Paramètres

commentfacultatifdans l'URLformat \d+
entier, dans le chemin — id du commentaire
repliesfacultatifdans l'URLformat (replies)?
facultatif, dans le chemin — le mot replies tel quel, pour inclure les réponses
Requête
curl "https://www.viedemerde.fr/api/v2/comment/{comment}/{replies}" \
  -H "X-VDM-Api-Key: $API_KEY"
Réponse 200
{
  "data": {
    "id": 170,
    "date": "2026-10-30T08:50:17+01:00",
    "status": 0,
    "parent": 0,
    "content": "Same thing happened to me last week, you're not alone!",
    "article": 518664,
    "author": {
      "id": 4294967294,
      "username": "JohnDoe",
      "avatar": "/images/default-avatar.jpg",
      "title": "mr"
    },
    "thumbup": 0,
    "thumbdown": 5,
    "userthumbed": 0,
    "report": 1,
    "isModerator": false,
    "replies": null
  },
  "meta": {},
  "badge": [],
  "badge_display": []
}

Réponse réelle de l'API, sur des données de test. Les listes sont coupées à 2 éléments.

Erreurs possibles

404

{
  "data": [
    ""
  ],
  "meta": {},
  "badge": [],
  "badge_display": []
}

Mettre un pouce levé à un commentaire

PATCH/comment/{comment}/up/{inc}Jeton membre obligatoire

Jeton utilisateur obligatoire. Un pouce par membre et par commentaire : répéter l’appel ne change rien, et passer d’un pouce levé à un pouce baissé (ou l’inverse) déplace le pouce. Renvoie le commentaire (202).

Paramètres

commentfacultatifdans l'URLformat \d+
entier, dans le chemin — id du commentaire
incfacultatifdans l'URLformat \d+
entier, dans le chemin — ignoré : toujours un pouce
Requête
curl -X PATCH "https://www.viedemerde.fr/api/v2/comment/{comment}/up/{inc}" \
  -H "X-VDM-Api-Key: $API_KEY" \
  -H "X-VDM-Api-Token: $TOKEN"
Réponse 202
{
  "data": {
    "id": 170,
    "date": "2026-10-30T08:50:17+01:00",
    "status": 0,
    "parent": 0,
    "content": "Same thing happened to me last week, you're not alone!",
    "article": 518664,
    "author": {
      "id": 4294967294,
      "username": "JohnDoe",
      "avatar": "/images/default-avatar.jpg",
      "title": "mr"
    },
    "thumbup": 0,
    "thumbdown": 5,
    "userthumbed": 0,
    "report": 1,
    "isModerator": false,
    "replies": null
  },
  "meta": {},
  "badge": [],
  "badge_display": []
}

Réponse réelle de l'API, sur des données de test. Les listes sont coupées à 2 éléments.

Erreurs possibles

401

{
  "data": "Vous devez être authentifié pour accéder à cette fonction.",
  "meta": {},
  "badge": [],
  "badge_display": []
}

404

{
  "data": "",
  "meta": {},
  "badge": [],
  "badge_display": []
}

Mettre un pouce baissé à un commentaire

PATCH/comment/{comment}/down/{inc}Jeton membre obligatoire

Jeton utilisateur obligatoire. Un pouce par membre et par commentaire : répéter l’appel ne change rien, et passer d’un pouce levé à un pouce baissé (ou l’inverse) déplace le pouce. Un commentaire qui reçoit trop de pouces baissés est masqué automatiquement (statut 6, auto-nuked). Renvoie le commentaire (202).

Paramètres

commentfacultatifdans l'URLformat \d+
entier, dans le chemin — id du commentaire
incfacultatifdans l'URLformat \d+
entier, dans le chemin — ignoré : toujours un pouce
Requête
curl -X PATCH "https://www.viedemerde.fr/api/v2/comment/{comment}/down/{inc}" \
  -H "X-VDM-Api-Key: $API_KEY" \
  -H "X-VDM-Api-Token: $TOKEN"
Réponse 202
{
  "data": {
    "id": 170,
    "date": "2026-10-30T08:50:17+01:00",
    "status": 0,
    "parent": 0,
    "content": "Same thing happened to me last week, you're not alone!",
    "article": 518664,
    "author": {
      "id": 4294967294,
      "username": "JohnDoe",
      "avatar": "/images/default-avatar.jpg",
      "title": "mr"
    },
    "thumbup": -1,
    "thumbdown": 6,
    "userthumbed": 0,
    "report": 1,
    "isModerator": false,
    "replies": null
  },
  "meta": {},
  "badge": [],
  "badge_display": []
}

Réponse réelle de l'API, sur des données de test. Les listes sont coupées à 2 éléments.

Erreurs possibles

401

{
  "data": "Vous devez être authentifié pour accéder à cette fonction.",
  "meta": {},
  "badge": [],
  "badge_display": []
}

404

{
  "data": "",
  "meta": {},
  "badge": [],
  "badge_display": []
}

Signaler un commentaire

PATCH/comment/{comment}/reportJeton membre obligatoire

Jeton utilisateur obligatoire. Un signalement par membre et par commentaire. Renvoie le commentaire (202), 404 s’il n’existe pas.

Paramètres

commentfacultatifdans l'URLformat \d+
entier, dans le chemin — id du commentaire à signaler
Requête
curl -X PATCH "https://www.viedemerde.fr/api/v2/comment/{comment}/report" \
  -H "X-VDM-Api-Key: $API_KEY" \
  -H "X-VDM-Api-Token: $TOKEN"
Réponse 202
{
  "data": {
    "id": 170,
    "date": "2026-10-30T08:50:17+01:00",
    "status": 0,
    "parent": 0,
    "content": "Same thing happened to me last week, you're not alone!",
    "article": 518664,
    "author": {
      "id": 4294967294,
      "username": "JohnDoe",
      "avatar": "/images/default-avatar.jpg",
      "title": "mr"
    },
    "thumbup": 0,
    "thumbdown": 6,
    "userthumbed": 0,
    "report": 1,
    "isModerator": false,
    "replies": null
  },
  "meta": {},
  "badge": [],
  "badge_display": []
}

Réponse réelle de l'API, sur des données de test. Les listes sont coupées à 2 éléments.

Erreurs possibles

401

{
  "data": "Vous devez être authentifié pour accéder à cette fonction.",
  "meta": {},
  "badge": [],
  "badge_display": []
}

404

{
  "data": "",
  "meta": {},
  "badge": [],
  "badge_display": []
}