---
title: "Add comment"
method: POST
path: "/rest/api/3/issue/{issueIdOrKey}/comment"
tags: ["Issue comments"]
---

# Add comment

`POST /rest/api/3/issue/{issueIdOrKey}/comment`

Adds a comment to an issue.

This operation can be accessed anonymously.

**[Permissions](#permissions) required:**

 *  *Browse projects* and *Add comments* [ project permission](https://confluence.atlassian.com/x/yodKLg) for the project that the issue containing the comment is in.
 *  If [issue-level security](https://confluence.atlassian.com/x/J4lKLg) is configured, issue-level security permission to view the issue.

## Path parameters

- `issueIdOrKey` string, required

## Query parameters

- `expand` string

## Request body

- Comment — A comment.
  - `author` UserDetails — User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions: * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank). * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values. * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.
    - `accountId` string — The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
    - `accountType` string — The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application user) or 'customer' (Jira Service Desk customer user)
    - `active` boolean — Whether the user is active.
    - `avatarUrls` AvatarUrlsBean
      - `16x16` string, uri — The URL of the item's 16x16 pixel avatar.
      - `24x24` string, uri — The URL of the item's 24x24 pixel avatar.
      - `32x32` string, uri — The URL of the item's 32x32 pixel avatar.
      - `48x48` string, uri — The URL of the item's 48x48 pixel avatar.
    - `displayName` string — The display name of the user. Depending on the user’s privacy settings, this may return an alternative value.
    - `emailAddress` string — The email address of the user. Depending on the user’s privacy settings, this may be returned as null.
    - `key` string — This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
    - `name` string — This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
    - `self` string — The URL of the user.
    - `timeZone` string — The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as null.
  - `body` unknown
  - `created` string, date-time — The date and time at which the comment was created.
  - `id` string — The ID of the comment.
  - `jsdAuthorCanSeeRequest` boolean — Whether the comment was added from an email sent by a person who is not part of the issue. See [Allow external emails to be added as comments on issues](https://support.atlassian.com/jira-service-management-cloud/docs/allow-external-emails-to-be-added-as-comments-on-issues/)for information on setting up this feature.
  - `jsdPublic` boolean — Whether the comment is visible in Jira Service Desk. Defaults to true when comments are created in the Jira Cloud Platform. This includes when the site doesn't use Jira Service Desk or the project isn't a Jira Service Desk project and, therefore, there is no Jira Service Desk for the issue to be visible on. To create a comment with its visibility in Jira Service Desk set to false, use the Jira Service Desk REST API [Create request comment](https://developer.atlassian.com/cloud/jira/service-desk/rest/#api-rest-servicedeskapi-request-issueIdOrKey-comment-post) operation.
  - `properties` EntityProperty[] — A list of comment properties. Optional on create and update.
    - `key` string — The key of the property. Required on create and update.
    - `value` unknown
  - `renderedBody` string — The rendered version of the comment.
  - `self` string — The URL of the comment.
  - `updateAuthor` UserDetails — User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions: * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank). * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values. * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.
    - `accountId` string — The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
    - `accountType` string — The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application user) or 'customer' (Jira Service Desk customer user)
    - `active` boolean — Whether the user is active.
    - `avatarUrls` AvatarUrlsBean
      - `16x16` string, uri — The URL of the item's 16x16 pixel avatar.
      - `24x24` string, uri — The URL of the item's 24x24 pixel avatar.
      - `32x32` string, uri — The URL of the item's 32x32 pixel avatar.
      - `48x48` string, uri — The URL of the item's 48x48 pixel avatar.
    - `displayName` string — The display name of the user. Depending on the user’s privacy settings, this may return an alternative value.
    - `emailAddress` string — The email address of the user. Depending on the user’s privacy settings, this may be returned as null.
    - `key` string — This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
    - `name` string — This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
    - `self` string — The URL of the user.
    - `timeZone` string — The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as null.
  - `updated` string, date-time — The date and time at which the comment was updated last.
  - `visibility` Visibility — The group or role to which this item is visible.
    - `identifier` string, nullable — The ID of the group or the name of the role that visibility of this item is restricted to.
    - `type` 'group' | 'role' — Whether visibility of this item is restricted to a group or role.
    - `value` string — The name of the group or role that visibility of this item is restricted to. Please note that the name of a group is mutable, to reliably identify a group use `identifier`.

## Response `201`

Returned if the request is successful.

- Comment — A comment.
  - `author` UserDetails — User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions: * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank). * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values. * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.
    - `accountId` string — The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
    - `accountType` string — The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application user) or 'customer' (Jira Service Desk customer user)
    - `active` boolean — Whether the user is active.
    - `avatarUrls` AvatarUrlsBean
      - `16x16` string, uri — The URL of the item's 16x16 pixel avatar.
      - `24x24` string, uri — The URL of the item's 24x24 pixel avatar.
      - `32x32` string, uri — The URL of the item's 32x32 pixel avatar.
      - `48x48` string, uri — The URL of the item's 48x48 pixel avatar.
    - `displayName` string — The display name of the user. Depending on the user’s privacy settings, this may return an alternative value.
    - `emailAddress` string — The email address of the user. Depending on the user’s privacy settings, this may be returned as null.
    - `key` string — This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
    - `name` string — This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
    - `self` string — The URL of the user.
    - `timeZone` string — The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as null.
  - `body` unknown
  - `created` string, date-time — The date and time at which the comment was created.
  - `id` string — The ID of the comment.
  - `jsdAuthorCanSeeRequest` boolean — Whether the comment was added from an email sent by a person who is not part of the issue. See [Allow external emails to be added as comments on issues](https://support.atlassian.com/jira-service-management-cloud/docs/allow-external-emails-to-be-added-as-comments-on-issues/)for information on setting up this feature.
  - `jsdPublic` boolean — Whether the comment is visible in Jira Service Desk. Defaults to true when comments are created in the Jira Cloud Platform. This includes when the site doesn't use Jira Service Desk or the project isn't a Jira Service Desk project and, therefore, there is no Jira Service Desk for the issue to be visible on. To create a comment with its visibility in Jira Service Desk set to false, use the Jira Service Desk REST API [Create request comment](https://developer.atlassian.com/cloud/jira/service-desk/rest/#api-rest-servicedeskapi-request-issueIdOrKey-comment-post) operation.
  - `properties` EntityProperty[] — A list of comment properties. Optional on create and update.
    - `key` string — The key of the property. Required on create and update.
    - `value` unknown
  - `renderedBody` string — The rendered version of the comment.
  - `self` string — The URL of the comment.
  - `updateAuthor` UserDetails — User details permitted by the user's Atlassian Account privacy settings. However, be aware of these exceptions: * User record deleted from Atlassian: This occurs as the result of a right to be forgotten request. In this case, `displayName` provides an indication and other parameters have default values or are blank (for example, email is blank). * User record corrupted: This occurs as a results of events such as a server import and can only happen to deleted users. In this case, `accountId` returns *unknown* and all other parameters have fallback values. * User record unavailable: This usually occurs due to an internal service outage. In this case, all parameters have fallback values.
    - `accountId` string — The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, *5b10ac8d82e05b22cc7d4ef5*.
    - `accountType` string — The type of account represented by this user. This will be one of 'atlassian' (normal users), 'app' (application user) or 'customer' (Jira Service Desk customer user)
    - `active` boolean — Whether the user is active.
    - `avatarUrls` AvatarUrlsBean
      - `16x16` string, uri — The URL of the item's 16x16 pixel avatar.
      - `24x24` string, uri — The URL of the item's 24x24 pixel avatar.
      - `32x32` string, uri — The URL of the item's 32x32 pixel avatar.
      - `48x48` string, uri — The URL of the item's 48x48 pixel avatar.
    - `displayName` string — The display name of the user. Depending on the user’s privacy settings, this may return an alternative value.
    - `emailAddress` string — The email address of the user. Depending on the user’s privacy settings, this may be returned as null.
    - `key` string — This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
    - `name` string — This property is no longer available and will be removed from the documentation soon. See the [deprecation notice](https://developer.atlassian.com/cloud/jira/platform/deprecation-notice-user-privacy-api-migration-guide/) for details.
    - `self` string — The URL of the user.
    - `timeZone` string — The time zone specified in the user's profile. Depending on the user’s privacy settings, this may be returned as null.
  - `updated` string, date-time — The date and time at which the comment was updated last.
  - `visibility` Visibility — The group or role to which this item is visible.
    - `identifier` string, nullable — The ID of the group or the name of the role that visibility of this item is restricted to.
    - `type` 'group' | 'role' — Whether visibility of this item is restricted to a group or role.
    - `value` string — The name of the group or role that visibility of this item is restricted to. Please note that the name of a group is mutable, to reliably identify a group use `identifier`.

## Other responses

- `400` — Returned if the request is invalid.
- `401` — Returned if the authentication credentials are incorrect.
- `404` — Returned if the issue is not found or the user does not have permission to view it.
- `413` — Returned if the per-issue limit has been breached for one of the following fields: * comments * attachments

---

[API](https://skmtc.net/atlassian/apis/the-jira-cloud-platform-rest-api-2.md) · [All operations](https://skmtc.net/atlassian/apis/the-jira-cloud-platform-rest-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/atlassian/the-jira-cloud-platform-rest-api-2/versions/5a51740d7ab3/schema)
