---
title: "Service: /members/{member}/uris/{uri}/comments [POST]"
source: https://dev.pageseeder.com/api/services/create-comment-uri-POST.html
description: "Creates a new comment on a URI with configurable title, content, groups, and optional task properties like status, priority, and due dates."
last_updated: 2026-09-02T11:36:07+10:00
document_type: api_endpoint
operation_id: comment-POST
resource_id: comment
path_template: /members/{member}/uris/{uri}/comments
http_method: POST
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: ~1076
---

# /members/\{member\}/uris/\{uri\}/comments \[POST\]

## Description

Use this service to create a new [comment](../../reference/glossary/comment.md) against a URI.

## Parameters

| Name | Description | Required | Type | Default |
| --- | --- | --- | --- | --- |
| content | The content of the comment. XHTML content is [sanitized](../../reference/glossary/xhtml_sanitization.md). | yes | string |  |
| groups | A comma-separated list of group names the comment should belong to | yes | strings |  |
| title | The title of the comment. Max 255 characters | yes | string |  |
| assignedto | The `ID` of the member to assign the task to – status **MUST** be set | no | long |  |
| authoremail | The email address of the author (manager only) | no | email | The current member’s email |
| authorname | The name of the author (manager only) | no | string | The current member’s name |
| contenttype | The media type of the comment | no | string | `text/plain ` |
| created | The creation date of the comment in ISO-8601 e.g. `2010-10-25T12:26:00+10:00` (manager only) | no | datetime | The current datetime |
| 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 | The due date of previous comment in thread |
| labels | A comma-separated list of label values | no | label |  |
| notify | The notification behavior | no | notify | `normal` |
| notify-async | Whether emails should be sent asynchronously (for slow email servers) | no | boolean | `false` |
| priority | The priority for the task e.g. `High`, `Medium`, `Low` – status **MUST** be set | no | priority | The priority of the previous comment in thread |
| properties | A pipe-separated list of value pairs (e.g. `x=1\|y=2\|`) | no | string |  |
| status | The task status value, e.g. `Open` | no | status | The status of the previous comment in thread |
| type | The type of the comment | no | string |  |
| uris | Comma-separated list of attachments as URI ID with optional `!fragment` e.g. `123,23,456!content,34!title` | no | long |  |
| urls | Comma-separated list of attachments as URL with optional `#fragment` | no | url |  |
| draft | Whether the comment is a draft | no | boolean | `false` |

### Status

The  `@status` attribute must use a value that has been defined in the [group properties](../../guide/configuration/properties/group_properties.md). For example: “**Open**”, “**Resolved**”, “**Closed**”.

### Priority

The `@priority` attribute must use a value that has been defined in the group properties. For example: “**High**”, “**Medium**”, “**Low**”.

## Permission

By default this service requires reviewer or higher in the document's group.

## Response

```xml

<comment-creation [notification-email-delayed="true"|
                  notification-email-failed="true"|
                  moderator-email-failed="true"]
                  [notify-param-ignored="true"]
                  [public="true"]>
  <comment id="123"
           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>

    <!-- Only for tasks -->
    <assignedto id="123" date="2012-03-09T..."> ... </assignedto>

    <!-- Only if modified -->
    <modifiedby id="456" date="2012-03-09T..."> ... </modifiedby>
    <content id="789" type="text/plain">Sesame opened the door</content>
    <attachment>
      <uri id="189"> ... </uri>
    </attachment>       
    <attachment fragment="5">
      <uri id="289"> ... </uri>
    </attachment>
  </comment>
</comment-creation>
 
```

## Error Handling

| Code | Cause / Description |
| --- | --- |
| 0x1306 | Missing required groups or the Group is invalid |
| 0x0000 | Missing required title |
| 0x1306 | The URI was not accessible to the group. The status is required to validate |
| 0x1307 | The assigned to member is invalid. The status is required to validate |
| 0x1308 | The due date is invalid |
| 0x0201 | Missing required content |
| 0x6301 | If the group has no general discussion |
| 0x6302 | Failed to create new comment |
| 0x0802 | The title can has maximum length of 255 |

