---
title: "Service: /uris/{uri}/comments [POST]"
source: https://dev.pageseeder.com/api/services/create-comment-uri-public-POST.html
description: "POST endpoint to create comments on URIs with support for metadata, task details, labels, and notifications. Requires author name, content, groups, and title parameters."
last_updated: 2026-09-02T11:36:07+10:00
document_type: api_endpoint
operation_id: comment-POST
resource_id: comment
path_template: /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: ~1104
---

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

## Description

Create a new [comment](../../reference/glossary/comment.md) for [URI](../../reference/glossary/uri.md).

Create a [comment](../elements/element_comment.md) for [group](../../reference/glossary/group.md), reply, url or [uri](../elements/element_uri.md)/fragment.

### Metadata

Comments support two types of metadata:

- properties, a set of values pairs
- labels.

### Task details

This service can be used to either turn a thread into a [task](../../reference/glossary/task.md) or to edit the task details of a task.

Task details are automatically inherited from the previous comment in the thread.

## Parameters

| Name | Description | Required | Type | Default |
| --- | --- | --- | --- | --- |
| authorname | The name of the author | yes | string |  |
| 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 | 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 | no | email |  |
| contenttype | The media type of the comment | no | mediatype | `text/plain ` |
| 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 |  |
| labels | A comma-separated list of label values | no | labels |  |
| 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 |  |
| properties | A pipe-separated list of value pairs (e.g. `x=1\|y=2\|`) | no | string |  |
| status | The [task status](../../reference/glossary/task_status.md) value, e.g. `Open` | no | status |  |
| type | The type of the comment | no | string |  |
| uris | Comma-separated list of attachments as URI ID with optional `!fragment` | no | longs |  |
| urls | Comma-separated list of attachments as URL with optional `#fragment` | no | urls |  |

 

### 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

The member on the request might need to be a reviewer or contributor or higher depending on the group configuration for all the groups in the groups parameter.

## 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>
    <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>
    <attachment>
      <uri id="189"> ... </uri>
    </attachment>
    <attachment fragment="5">
      <uri id="289"> ... </uri>
    </attachment>
  </comment>
</comment-creation> 
```

## Error Handling

| Code | Cause / Description |
| --- | --- |
| 0x1002 | Invalid email address |
| 0x1301 | If the author is missing |
| 0x1302 | If the author is existing and was specified using authorname or authoremail |
| 0x1303 | Both URI and URL have been 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 |
| 0x6301 | If the group has no general discussion |
| 0x6302 | Failed to create new comment |

