---
title: "Create comment"
method: POST
path: "/activity/comment"
tags: ["Activity"]
---

# Create comment

`POST /activity/comment`

Add a comment to a task. Equivalent to POST /comment/{taskId}, kept for the activity-feed client.

## Request body

- object
  - `taskId` string, required
  - `comment` string, required

## Response `200`

The created comment

- Activity
  - `id` string, required
  - `taskId` string, required
  - `type` string, required — One of: comment, task, create, status_changed, priority_changed, assignee_changed, unassigned, due_date_changed, title_changed, description_changed.
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `userId` string, nullable, required
  - `content` string, nullable, required
  - `eventData` unknown
  - `externalUserName` string, nullable, required — Set when the activity was imported from another tool.
  - `externalUserAvatar` string, nullable, required
  - `externalSource` string, nullable, required — The tool it was imported from, e.g. planka, trello, jira.
  - `externalUrl` string, nullable, required

## Other responses

- `400` — Invalid body, or unknown task
- `401` — Missing or invalid credentials
- `403` — No workspace access, or missing task:update permission

## Changes

- **2026-08-24** `08bbb5bedb5d` — 2 breaking, 14 info
  - the response property `eventData` became optional for the status `200`
  - the `eventData` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - …12 more
- **2026-07-11** `32cece1ebe43` — 3 breaking, 1 info
  - request body became required
  - the `createdAt` response's property type/format changed from ``/`` to `string`/`date-time` for status `200`
  - the `type` response's property type/format changed from ``/`` to `string`/`` for status `200`
  - added the required property `eventData` to the response with the `200` status
- **2026-03-05** `c45ef22a736c` — 6 breaking, 6 info
  - the response property `content` became nullable for the status `200`
  - the response property `externalSource` became nullable for the status `200`
  - the response property `externalUrl` became nullable for the status `200`
  - the response property `externalUserAvatar` became nullable for the status `200`
  - …8 more
- …earlier changes not shown

[Full history](https://skmtc.dev/usekaneo/apis/kaneo-api/changes/activity/comment/post.md)

---

[API](https://skmtc.dev/usekaneo/apis/kaneo-api.md) · [All operations](https://skmtc.dev/usekaneo/apis/kaneo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/usekaneo/kaneo-api/revisions/9d1da42c10ce/schema)
