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


# Добавить комментарий

Запрос позволяет добавить комментарий к [сущности](https://yandex.ru/support/tracker/ru/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;тип_сущности>/&lt;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: ru/api-ref/_assets/style/methods.md -->

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

## Формат запроса {#query}

Перед выполнением запроса [получите доступ к API](https://yandex.ru/support/tracker/ru/api-ref/access.md).

Чтобы добавить комментарий к сущности, используйте HTTP-запрос с методом `POST`. В теле запроса укажите параметры в формате JSON.

```json translate=no
POST /v3/entities/<тип_сущности>/<id_сущности>/comments
Host: api.tracker.yandex.net
Authorization: OAuth <OAuth-токен>
Content-Type: application/json
X-Org-ID или X-Cloud-Org-ID: <идентификатор_организации>

{
  "text": "<текст_комментария>",
  "summonees": ["<логины_или_идентификаторы_призванных>"]
}
```

<!-- source: ru/api-ref/_includes/headings.md -->
{% cut "Заголовки" %}

* `Host`: адрес узла, предоставляющего API.

* <!-- source: ru/api-ref/_includes/authorization.md -->
  `Authorization`: токен для авторизации в одном из форматов:

    - `OAuth <OAuth-токен>` при авторизации по протоколу OAuth 2.0. [Читать подробнее](https://yandex.ru/support/tracker/ru/api-ref/access.md#about_OAuth)

    - `Bearer <IAM-токен>` при авторизации с помощью IAM-токена — если к Трекеру привязана организация Yandex Identity Hub. [Читать подробнее](https://yandex.ru/support/tracker/ru/api-ref/access.md#iam-token)
  <!-- endsource: ru/api-ref/_includes/authorization.md -->

* <!-- source: ru/api-ref/_includes/content-type-json.md -->
  `Content-Type`: формат тела запроса. Должен иметь значение `application/json`.
  <!-- endsource: ru/api-ref/_includes/content-type-json.md -->


* <!-- source: ru/api-ref/_includes/org-id.md -->
  `X-Org-ID` или `X-Cloud-Org-ID`: идентификатор организации.

  - если к Трекеру привязана организация Яндекс 360 для бизнеса, используйте заголовок `X-Org-ID`,

  - если к Трекеру привязана организация Yandex Identity Hub, используйте заголовок `X-Cloud-Org-ID`.
  <!-- endsource: ru/api-ref/_includes/org-id.md -->

  <!-- source: ru/api-ref/_includes/org-id.md -->
  Чтобы узнать идентификатор организации, перейдите на страницу **Администрирование** → [**Организации**](https://tracker.yandex.ru/admin/orgs) и скопируйте значение поля **идентификатор**.
  <!-- endsource: ru/api-ref/_includes/org-id.md -->


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

<!-- source: ru/api-ref/_includes/resource-entity.md -->
{% cut "Ресурс" %}

Параметр | Описание | Тип данных
-------- | -------- | ----------
\<тип_сущности> | Тип сущности:<ul><li>project — проект;</li><li>portfolio — портфель;</li><li>goal — цель</li></ul>| Строка
\<id_сущности> | Идентификатор сущности. Чтобы получить идентификатор, посмотрите [список сущностей](../search-entities.md). В качестве идентификатора можно использовать параметр `id` или `shortId`.| Строка

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

{% cut "Параметры запроса" %}

**Дополнительные параметры**

Параметр | Описание | Тип данных
-------- | -------- | ----------
isAddToFollowers | Добавить автора комментария в наблюдатели. Значение по умолчанию — `true`. | Логический
notify | Уведомлять пользователей, которые указаны в полях **Автор**, **Ответственный**, **Участники**, **Заказчики** и **Наблюдатели**. Значение по умолчанию — `true`. | Логический
notifyAuthor | Уведомлять автора изменений. Значение по умолчанию — `false`. | Логический
expand | Дополнительная информация, которая будет включена в ответ: <ul><li>`all` — все;</li><li>`html` — HTML-разметка комментария;</li><li>`attachments` — вложенные файлы;</li><li>`reactions` — реакции на комментарий.</li></ul> | Строка

{% endcut %}

{% cut "Параметры тела запроса" %}

Тело запроса содержит информацию, необходимую для добавления комментария:

**Обязательные параметры**

Параметр | Описание | Тип данных
----- | ----- | -----
text | Текст комментария. | Строка

**Дополнительные параметры**

Параметр | Описание | Тип данных
----- | ----- | -----
attachmentIds | Идентификаторы [временных файлов](../../issues/temp-attachment.md), которые будут добавлены как вложения. | Массив строк
summonees | Идентификаторы или логины призванных пользователей. | Массив объектов или строк
maillistSummonees | Список рассылок, призванных в комментарии. | Массив строк

{% endcut %}

> Пример: Добавить комментарий
>
> - Используется HTTP-метод POST.
> - В сущность (проект) добавляется комментарий: «Текст комментария».
> - Призывается пользователь.
>
> ```json translate=no
> POST /v3/entities/project/<id_проекта>/comments
> Host: api.tracker.yandex.net
> Authorization: OAuth y0__xAbc******
> Content-Type: application/json
> X-Org-ID: 1234******
>
> {
>    "text":"<текст_комментария>",
>    "summonees": [<идентификатор_пользователя>]
> }
> ```

## Формат ответа {#answer}

{% list tabs %}

- Запрос выполнен успешно

  <!-- source: ru/api-ref/_includes/answer-201.md -->
  В случае успешного выполнения запроса API возвращает ответ с кодом `201 Created`.
  <!-- endsource: ru/api-ref/_includes/answer-201.md -->

  Тело ответа содержит информацию о комментарии в формате JSON.

  ```json translate=no
  {
      "self": "https://api.tracker.yandex.net/v3/entities/project/6586d6fee2b9ef74********/comments/22",
      "id": 22,
      "longId": "65a1ba7b46b9746d********",
      "text": "Текст комментария.",
      "createdBy": {
          "self": "https://api.tracker.yandex.net/v3/users/11********",
          "id": "11********",
          "display": "Имя Фамилия",
          "cloudUid": "ajeppa7dgp53********",
          "passportUid": 11********
      },
      "updatedBy": {
          "self": "https://api.tracker.yandex.net/v3/users/11********",
          "id": "11********",
          "display": "Имя Фамилия",
          "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": "Имя Фамилия",
              "cloudUid": "ajeppa7dgp32********",
              "passportUid": 11********
          }
      ],
      "version": 1,
      "type": "standard",
      "transport": "internal"
  }
  ```

  {% cut "Параметры ответа" %}

  Параметр | Описание | Тип данных
  ----- | ----- | -----
  self | Ссылка на объект комментария. | Строка
  id | Идентификатор комментария. | Число
  longId | Идентификатор комментария в виде строки. | Строка
  text | Текст комментария. | Строка
  textHtml | HTML-разметка комментария. | Строка
  attachments | Вложения. | Строка
  [createdBy](#created-by) | Объект с информацией о создателе комментария. | Объект
  [updatedBy](#updated-by) | Объект с информацией о сотруднике, внесшем последнее изменение в комментарий. | Объект
  createdAt | Дата и время создания комментария в формате:<br/>``` YYYY-MM-DDThh:mm:ss.sss±hhmm ```. | Строка
  updatedAt | Дата и время обновления комментария в формате:<br/>``` YYYY-MM-DDThh:mm:ss.sss±hhmm ```. | Строка
  summonees | Список вызываемых в комментарии пользователей. | Список объектов
  maillistSummonees | Список рассылок, призванных в комментарии. | Список объектов
  version | Версия комментария. Каждое изменение комментария увеличивает номер версии. | Число
  type | Тип комментария:<ul><li>`standart` — отправлен через интерфейс Трекера;</li><li>`incoming` — создан из входящего письма;</li><li>`outcoming` — создан из исходящего письма.</li></ul> | Строка
  transport | Способ добавления комментария:<ul><li>`internal` — через интерфейс Трекера;</li><li>`email` — через письмо.</li></ul> | Строка

  **Поля объекта** `createdBy` {#created-by}

  <!-- source: ru/api-ref/_includes/user.md -->
  Параметр | Описание | Тип данных
  ----- | ----- | -----
  self | Адрес ресурса API, который содержит информацию о пользователе. | Строка
  id | Идентификатор пользователя. | Строка
  display | Отображаемое имя пользователя. | Строка
  passportUid | Уникальный идентификатор аккаунта пользователя в организации Яндекс 360 для бизнеса и Яндекс ID. | Число
  cloudUid | Уникальный идентификатор пользователя в Yandex Identity Hub. | Строка
  <!-- endsource: ru/api-ref/_includes/user.md -->

  **Поля объекта** `updatedBy` {#updated-by}

  <!-- source: ru/api-ref/_includes/user.md -->
  Параметр | Описание | Тип данных
  ----- | ----- | -----
  self | Адрес ресурса API, который содержит информацию о пользователе. | Строка
  id | Идентификатор пользователя. | Строка
  display | Отображаемое имя пользователя. | Строка
  passportUid | Уникальный идентификатор аккаунта пользователя в организации Яндекс 360 для бизнеса и Яндекс ID. | Число
  cloudUid | Уникальный идентификатор пользователя в Yandex Identity Hub. | Строка
  <!-- endsource: ru/api-ref/_includes/user.md -->

  {% endcut %}

- Запрос выполнен с ошибкой

  Если запрос не был успешно обработан, API возвращает ответ с кодом ошибки:

  <!-- source: ru/api-ref/_includes/answer-error-400.md -->
  400
  :   Один или несколько параметров запроса имеют недопустимое значение.
  <!-- endsource: ru/api-ref/_includes/answer-error-400.md -->

  <!-- source: ru/api-ref/_includes/answer-error-404.md -->
  404
  :   Запрошенный объект не был найден. Возможно, вы указали неверное значение идентификатора или ключа объекта.
  <!-- endsource: ru/api-ref/_includes/answer-error-404.md -->

  <!-- source: ru/api-ref/_includes/answer-error-422.md -->
  422 
  :   Ошибка валидации JSON, запрос отклонен.
  <!-- endsource: ru/api-ref/_includes/answer-error-422.md -->

{% endlist %}
