---
metadata:
  - name: generator
    content: Diplodoc Platform v5.54.5
  - property: og:type
    content: article
  - property: article:section
    content: Справочник API
  - property: og:title
    content: Добавить комментарий
  - property: article:tag
    content: Техническая инструкция
alternate:
  - https://yandex.com.tr/support/tracker/en/api-ref/entities/comments/add-comment.md
  - href: en/api-ref/entities/comments/add-comment.md
    type: text/markdown
    title: Markdown version
  - href: ../../../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com.tr/support/tracker/en/llms.txt


# Adding a comment

The request allows you to add a comment to an [entity](https://yandex.com.tr/support/tracker/en/api-ref/entities/about-entities.md).

<div class="request_example method_post yfm-clipboard">
    <p>POST</p>
    <pre><code>https://api.tracker.yandex.net/v3/entities/&lt;entity_type>/&lt;entity_ID>/comments</code></pre>
    <button class="yfm-clipboard-button"><svg width="16" height="16" viewBox="0 0 24 24" class="yfm-clipboard-icon" data-animation="15">
    <path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path>
    <path stroke="currentColor" fill="transparent" strokewidth="1.5" d="M9.5 13l3 3l5 -5" visibility="hidden">
        <animate id="visibileAnimation-15" attributeName="visibility" from="hidden" to="visible" dur="0.2s" fill="freeze" begin=""></animate>
        <animate id="hideAnimation-15" attributeName="visibility" from="visible" to="hidden" dur="1s" begin="visibileAnimation-15.end+1" fill="freeze"></animate>
    </path>
</svg>
</button>
</div>

<!-- source: en/api-ref/_assets/style/methods.md -->

<!-- endsource: en/api-ref/_assets/style/methods.md -->

## Query format {#query}

Before making a request, [get permission to access the API](https://yandex.com.tr/support/tracker/en/api-ref/access.md).

To add a comment to an entity, use an HTTP `POST` request. In the request body, specify the parameters in JSON format.

```json translate=no
POST /v3/entities/<entity_type>/<entity_ID>/comments
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth_token>
X-Org-ID or X-Cloud-Org-ID: <organization_ID>

{
  "text": "<comment_text>",
  "summonees": ["<summonee_ID_or_login>"]
}
```

<!-- source: en/api-ref/_includes/headings.md -->
{% cut "Headers" %}

* `Host`: address of the node that provides the API.

* <!-- source: en/api-ref/_includes/authorization.md -->
  `Authorization`: Authorization token about these formats:

    - `OAuth <OAuth_token>`: For authorization using the OAuth 2.0 protocol. [Learn more](https://yandex.com.tr/support/tracker/en/api-ref/access.md#about_OAuth)

    - `Bearer <IAM_token>`: For authorization using an IAM token, if a Yandex Identity Hub organization is linked to Tracker. [Learn more](https://yandex.com.tr/support/tracker/en/api-ref/access.md#iam-token)
  <!-- endsource: en/api-ref/_includes/authorization.md -->


* <!-- source: en/api-ref/_includes/org-id.md -->
  `X-Org-ID` or `X-Cloud-Org-ID`: Organization ID.

  - Use the `X-Org-ID` header if a Tracker organization is linked to Yandex 360 for Business.

  - Use the `X-Cloud-Org-ID` header if a Tracker organization is linked to Yandex Identity Hub.

  To get the organization ID, go to **Administration** → [**Organizations**](https://tracker.yandex.com/admin/orgs) and copy the value from the **ID** field. {#find-id}
  <!-- endsource: en/api-ref/_includes/org-id.md -->


{% endcut %}
<!-- endsource: en/api-ref/_includes/headings.md -->

<!-- source: en/api-ref/_includes/resource-entity.md -->
{% cut "Resource" %}

| Parameter | Description | Data type |
-------- | -------- | ----------
| \<entity_type> | Entity type:<ul><li>project</li><li>portfolio</li><li>goal</li></ul> | String |
| \<entity_ID> | Entity ID. To get the ID, see the [entity list](../search-entities.md). You can use the `id` or `shortId` parameter as the ID. | String |

{% endcut %}
<!-- endsource: en/api-ref/_includes/resource-entity.md -->

{% cut "Request parameters" %}

**Additional parameters**

| Parameter | Description | Data type |
-------- | -------- | ----------
| isAddToFollowers | Adding a comment author to followers. The default value is `true`. | Boolean |
| notify | Notify the users specified in the **Author**, **Lead**, **Participants**, **Customers**, and **Followers** fields. The default value is `true`. | Boolean |
| notifyAuthor | Notify the author of the changes. The default value is `false`. | Boolean |
| expand | Additional information to include in the response: <ul><li>`all`: All</li><li>`html`: Comment HTML markup</li><li>`attachments`: Attached files</li><li>`reactions`: Reactions to a comment</li></ul> | String |

{% endcut %}

{% cut "Request body parameters" %}

The request body contains the information needed to add a comment:

**Required parameters**

| Parameter | Description | Data type |
----- | ----- | -----
| text | Text of the comment. | String |

**Additional parameters**

| Parameter | Description | Data type |
----- | ----- | -----
| attachmentIds | IDs of [temporary files](../../issues/temp-attachment.md) that will be added as attachments. | Array of strings |
| summonees | IDs or usernames of summoned users. | Array of objects or strings |
| maillistSummonees | List of mailing lists mentioned in the comment. | Array of strings |

{% endcut %}

> Example: Adding a comment
>
> - An HTTP POST method is used.
> - A comment is added to the entity (project): **Comment text**.
> - The user is summoned.
>
> ```json translate=no
> POST /v3/entities/project/<project_ID>/comments
> Host: api.tracker.yandex.net
> Authorization: OAuth <OAuth_token>
> X-Org-ID or X-Cloud-Org-ID: <organization_ID>
>
> {
>    "text":"<comment_text>",
>    "summonees": [<user_ID>]
> }
> ```

## Response format {#answer}

{% list tabs %}

- Request executed successfully

  <!-- source: en/api-ref/_includes/answer-201.md -->
  If the request is successful, the API returns a response with code `201 Created`.
  <!-- endsource: en/api-ref/_includes/answer-201.md -->

  The response body contains information about the comment in JSON format.

  ```json translate=no
  {
      "self": "https://api.tracker.yandex.net/v3/entities/project/6586d6fee2b9ef74********/comments/22",
      "id": 22,
      "longId": "65a1ba7b46b9746d********",
      "text": "Comment text.",
      "createdBy": {
          "self": "https://api.tracker.yandex.net/v3/users/11********",
          "id": "11********",
          "display": "User Name",
          "cloudUid": "ajeppa7dgp53********",
          "passportUid": 11********
      },
      "updatedBy": {
          "self": "https://api.tracker.yandex.net/v3/users/11********",
          "id": "11********",
          "display": "User Name",
          "cloudUid": "ajeppa7dgp53********",
          "passportUid": 11********
      },
      "createdAt": "2024-01-12T22:17:31.176+0000",
      "updatedAt": "2024-01-12T22:17:31.176+0000",
      "summonees": [
          {
              "self": "https://api.tracker.yandex.net/v3/users/11********",
              "id": "11********",
              "display": "User Name",
              "cloudUid": "ajeppa7dgp32********",
              "passportUid": 11********
          }
      ],
      "version": 1,
      "type": "standard",
      "transport": "internal"
  }
  ```

  {% cut "Response parameters" %}

  | Parameter | Description | Data type |
  ----- | ----- | -----
  | self | Link to the comment object. | String |
  | id | Comment ID. | Number |
  | longId | Comment ID as a string. | String |
  | text | Text of the comment. | String |
  | textHtml | Comment HTML markup | String |
  | attachments | Attached files | String |
  | [createdBy](#created-by) | Object with information about the author of the comment | Map object |
  | [updatedBy](#updated-by) | Object with information about the last user to have updated the comment | Map object |
  | createdAt | Comment creation date and time in the format:<br/>```YYYY-MM-DDThh:mm:ss.sss±hhmm ``` | String |
  | updatedAt | Comment update date and time in the format:<br/>```YYYY-MM-DDThh:mm:ss.sss±hhmm ```. | String |
  | summonees | List of users summoned in comments. | List of objects |
  | maillistSummonees | List of mailing lists mentioned in the comment. | List of objects |
  | version | Comment version. Each update increases the comment's version number. | Number |
  | type | Comment type:<ul><li>`standart`: Comment sent via the Yandex Tracker interface.</li><li>`incoming`: Comment created from an incoming message.</li><li>`outcoming`: Comment created from an outgoing message.</li></ul> | String |
  | transport | Method of adding a comment:<ul><li>`internal`: Via the Yandex Tracker interface.</li><li>`email`: Via email.</li></ul> | String |

  `createdBy` **object fields** {#created-by}

  <!-- source: en/api-ref/_includes/user.md -->
  | Parameter | Description | Data type |
  ----- | ----- | -----
  | self | Address of the API resource with information about the user | String |
  | id | User ID. | String |
  | display | Displayed user name | String |
  | passportUid | Unique ID of the user account in the Yandex 360 for Business organization and Yandex ID. | Number |
  | cloudUid | Unique user ID in Yandex Identity Hub | String |
  <!-- endsource: en/api-ref/_includes/user.md -->

  `updatedBy` **object fields** {#updated-by}

  <!-- source: en/api-ref/_includes/user.md -->
  | Parameter | Description | Data type |
  ----- | ----- | -----
  | self | Address of the API resource with information about the user | String |
  | id | User ID. | String |
  | display | Displayed user name | String |
  | passportUid | Unique ID of the user account in the Yandex 360 for Business organization and Yandex ID. | Number |
  | cloudUid | Unique user ID in Yandex Identity Hub | String |
  <!-- endsource: en/api-ref/_includes/user.md -->

  {% endcut %}

- Request failed

  If the request is processed incorrectly, the API returns a response with an error code:

  <!-- source: en/api-ref/_includes/answer-error-400.md -->
  400
  :   One or more request parameters have an invalid value.
  <!-- endsource: en/api-ref/_includes/answer-error-400.md -->

  <!-- source: en/api-ref/_includes/answer-error-404.md -->
  404
  :   The requested object was not found. You may have specified an invalid object ID or key.
  <!-- endsource: en/api-ref/_includes/answer-error-404.md -->

  <!-- source: en/api-ref/_includes/answer-error-422.md -->
  422
  :   JSON validation error, the request is rejected.
  <!-- endsource: en/api-ref/_includes/answer-error-422.md -->

{% endlist %}
