Reply to a comment
reply_to_comment
Adds a reply to an existing comment thread.
This is how you answer a reviewer, for example to say a change has been made. The reply inherits the pin position of the thread it belongs to, so it needs no coordinates. A reply to a deleted comment is refused.
As with create_comment, a mention left from here never emails the person. It only resolves to a real teammate in the token form @Name{userId}, and a plain @name is just text.
Anyone holding the site's shared link can read the reply while viewers can comment. The text is at most 1,000 characters, and text that is empty or longer than that is refused. See Comments.
Request
Call it with a POST to https://api.modulify.ai/v1/reply_to_comment, sending the inputs below as a JSON object. The token needs the comments:write scope.
It makes changes, so send an Idempotency-Key header whenever you might retry it. A retry with the same key gets the first answer back instead of running again.
curl -X POST https://api.modulify.ai/v1/reply_to_comment \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"parentCommentId":"PARENT_COMMENT_ID","content":"CONTENT"}'Over MCP, the same method is the reply_to_comment tool.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
parentCommentId |
string | Yes | The comment being replied to, from list_comments. |
content |
string | Yes | The reply text, at most 1,000 characters. An empty string is refused. |
Response
Every call answers with the JSON envelope of success, message, data, code and version. data holds the result described above, and on a method that returns a total, count carries it. The response headers carry the call's X-Request-Id and what is left of your per-minute budget in X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Errors explains every status code a call can answer with.