Aller au contenu

API : Commentaires

Les commentaires sont des fils de discussion sur une tâche. Chaque membre de l’espace de travail peut les lire et en écrire ; les réactions emoji sont par utilisateur et par emoji.

GET /api/workspaces/{workspaceId}/tasks/{taskId}/comments

Renvoie les commentaires de la tâche, du plus récent au plus ancien :

[
{
"id": "019f8a12-…",
"body": "Looks good — ship it.",
"author": {
"userId": "019f7488-…",
"firstName": "Ada",
"lastName": "Lovelace",
"avatarUrl": "/api/avatars/019f7488-…?v=…",
"inactive": false
},
"createdAt": "2026-07-22T09:50:16Z",
"reactions": [
{ "emoji": "👍", "count": 2, "mine": true }
]
}
]

reactions est agrégé par emoji ; mine vaut true quand l’utilisateur appelant a réagi avec cet emoji. author.inactive marque le contenu dont l’auteur a supprimé son compte — les clients affichent un libellé localisé « Utilisateur inactif ».

POST /api/workspaces/{workspaceId}/tasks/{taskId}/comments
{ "body": "Looks good — ship it." }

Renvoie 201 avec { "id": "…" }. Le corps ne doit pas être vide et est limité à 2000 caractères (400 sinon).

DELETE /api/workspaces/{workspaceId}/tasks/{taskId}/comments/{commentId}

Renvoie 204. Seuls l’auteur du commentaire et le propriétaire de l’espace de travail peuvent supprimer (403 sinon).

PUT /api/workspaces/{workspaceId}/tasks/{taskId}/comments/{commentId}/reactions/{emoji}
DELETE /api/workspaces/{workspaceId}/tasks/{taskId}/comments/{commentId}/reactions/{emoji}

PUT définit la réaction de l’utilisateur appelant, DELETE la retire ; les deux sont idempotents et renvoient 204. Le segment de chemin {emoji} est l’emoji lui-même, encodé en URL. Réactions prises en charge : 👍 ❤️ 😄 🎉 👀 🚀 — tout le reste répond 400.