---
title: "Service: /members/{member}/comments/{commentid} [PATCH]"
source: https://dev.pageseeder.com/api/services/comment_patch.html
description: "Edits an existing comment via PATCH request, allowing modification of content, metadata, workflow status, assignments, and attachments. Supports moving comments between groups or URIs and includes task management features like priorities and due dates."
last_updated: 2026-09-08T13:56:30+10:00
document_type: api_endpoint
operation_id: comment-PATCH
resource_id: comment
path_template: /members/{member}/comments/{commentid}
http_method: PATCH
api_category: comment
implementation_version: 6.3000
api_since: 5.1102
deprecated_since: null
obsolete_since: null
api_support: supported
cache_control: N/A
generated_at: 2026-09-02
tokens: ~1317
---

# /members/\{member\}/comments/\{commentid\} \[PATCH\]

## Description

Edits an existing [comment](../../reference/glossary/comment.md).

> **Note:** This service can also be used to edit workflow steps but only the `content` and `labels` parameters are allowed.

## Parameters

| Name | Description | Required | Type | Default value |
| --- | --- | --- | --- | --- |
| assignedto | The `ID` of the member to assign the task to – status/previous status **MUST** be set | no | string |  |
| attachmentgroup | The group to get the attachments from (only used if draft is set from `false` to `true`) | no | string |  |
| authoremail | The email address of the author (manager only or draft from non-member) | no | string |  |
| authorname | The name of the author (manager only or draft from non-member) | no | string |  |
| content | The content of the [comment](../elements/element_comment.md) | no | string |  |
| contenttype | The media type of the comment | no | mediatype |  |
| created | The creation date of the comment in ISO-8601 e.g. `2010-10-25T12:26:00+10:00` (manager only) | no | datetime |  |
| draft | Whether the comment is a draft | no | boolean |  |
| due | The task due date and time in ISO-8601 format – status **MUST** be set. e.g. `2010-10-25T18:00:00+11:00` | no | datetime |  |
| fragment | The URI fragment to move this comment to (only applies to uri parameter) | no | string | default |
| group | The name of the group to move this comment to | no | string |  |
| groups | A comma-separated list of group names the comment belongs to (ignored if comment is not the thread root or won't be after move) | no | string |  |
| labels | A comma-separated list of label values | no | string |  |
| moderated | If `true`, the comment is to be moderated | no | boolean |  |
| movereplies | If `true`, replies created after this comment are also moved and, if `groups` specified, then groups are modified (if current user is not a manager or author contributor of reply, it is not moved) | no | boolean | true |
| notify | The notification behavior | no | notify | silent |
| notify-async | Whether emails are sent asynchronously (for slow email servers) | no | boolean | `false` |
| priority | The priority for the task e.g. `High`, `Medium`, `Low` – status/previous status **MUST** be set | no | string |  |
| properties | A pipe-separated list of value pairs e.g. `x=1\|y=2\|` | no | string |  |
| reply | The comment `ID` to make this comment a reply to (this also changes the title to the reply to title unless overridden using the `title` parameter) | no | long |  |
| status | The task status value, e.g. `Open` | no | string |  |
| title | The title of the comment | no | string |  |
| type | The type of comment | no | string |  |
| uri | The URI ID to move this comment to | no | long |  |
| uris | Comma-separated list of attachments as URI IDs with optional `!fragment`s | no | string |  |
| url | The URL with optional `#fragment` to move this comment to | no | url |  |
| urls | Comma-separated list of attachments as URLs with optional `#fragment`s | no | string |  |

No parameters are required, but parameters which are specified modify the comment accordingly. 

## Permission

The member on the request needs to be a contributor or higher.

## Response

```xml

<comment-modification [notification-email-delayed="true"|
                      notification-email-failed="true"]
                      [notify-param-ignored="true"]
                      [public="true"]>
  <comment id="123"
           discussionid="122"
           contentrole="Comment"
           created="2012-03-08T12:34:00+10:00"
           [status="Open"]
           [due="2012-03-10T18:00:00+10:00"]
           [priority="High"]
           [moderated="true"]>
    <title>Cavern stolen!</title>
    <author email="alibaba@fortythieves.com.au"> ... </author>
    <assignedto id="123" 
                date="2012-03-09T..."> ... </assignedto>
    <modifiedby id="456" 
                date="2012-03-09T..."> ... </modifiedby>
    <content id="789"
             type="text/plain">Sesame opened the door</content>
    <context fragment="2">
      <uri id="789"> ... </uri>
    </context>
    <attachment>
      <uri id="189"> ... </uri>
    </attachment>
    <attachment fragment="5">
      <uri id="289"> ... </uri>
    </attachment>
  </comment>
</comment-modification>
```

## Error Handling

| Code | Cause / Description |
| --- | --- |
| 0x1002 | Invalid email address |
| 0x1303 | Only one of uri, url, group or replyto can be specified |
| 0x1304 | The URL is invalid |
| 0x1305 | The URL does not match a GroupURI |
| 0x1306 | The Group is invalid |
| 0x1307 | The assigned to member is invalid |
| 0x1308 | The due date is invalid |
| 0x1309 | The comment is archived |
| 0x1311 | The object specified is not a comment |
| 0x1317 | The replyto comment was not found |
| 0x1318 | URI not found |
| 0x1324 | Comment can't be a reply to itself |
| 0x1326 | The content was invalid |
| 0x1328 | The labels parameter is invalid |
| 0x1329 | The priority parameter is invalid |
| 0x1330 | The status parameter is invalid |
| 0x6301 | If the group has no general discussion |
| 0x6303 | Failed to edit comment |
| 0x6306 | The replyto comment has no context URI |

