---
title: "Post a new comment on a signal (with optional @-mentions)"
method: POST
path: "/api/me/signals/{id}/comments"
tags: ["me"]
---

# Post a new comment on a signal (with optional @-mentions)

`POST /api/me/signals/{id}/comments`

## Request

- Base URL: `https://api.signalraven.ai`
- URL: `https://api.signalraven.ai/api/me/signals/{id}/comments`
- Auth: none declared

All roles allowed. Self-mentions and non-member mentions are silently dropped. Server fires "mentioned" notifications to each valid mention and "commented_on_my_share" to the original sharer (suppressed if the sharer was already mentioned or is the commenter themselves).

## Path parameters

- `id` string, uuid, required

## Request body

- CommentBody
  - `body` string, required
  - `mentionedUserIds` string[]: User IDs to @-mention. Server validates each is a current customer_users member and silently drops self-mentions.

## Response `201`

Comment created

- CreateCommentResponse
  - `id` string, uuid, required
  - `authorUserId` string, uuid, required
  - `authorEmail` string, email, nullable, required
  - `authorRemoved` boolean, required: True when the author is no longer a member of this customer (their customer_users link was deleted). The FE renders "(removed)" alongside the email.
  - `body` string, required: Empty string when deleted is true (the original text is redacted server-side to preserve privacy).
  - `mentionedUserIds` string[], required
  - `mentionedEmails` string[]
  - `deleted` boolean, required
  - `createdAt` string, date-time, required

## Other responses

- `400`: Validation error (empty body, too many mentions, etc.)
- `404`: Signal not found

---

[API](https://skmtc.dev/signalraven/apis/zygnal-api.md) · [All operations](https://skmtc.dev/signalraven/apis/zygnal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/signalraven/apis/zygnal-api/revisions/36e1d9b9d604?raw)
