К содержимому

Комментарии и файлы ​

Все методы · Ключи и права · Ошибки

Примеры ответов сокращены. Пустой массив означает допустимый результат без доступных записей, а не обязательное отсутствие данных.

Для методов с ключом действуют общие проверки: 401 — ключ не принят, 403 — не хватает scope или прав владельца, 429 — превышен лимит. Неверные параметры могут дать 400, недоступный адресный ресурс — 404. Особенности команды указаны рядом с методом. Точную причину смотрите в error.code и details: как обработать ошибку и безопасно повторить запрос.

Получить комментарии ​

GET /api/v1/objects/{objectId}/comments

Действие ключа: comments:read. Оно не заменяет права владельца на объекты и поля.

Внутренние комментарии доступны только при отдельном праве Private Comment.

Параметры пути: objectId. Тело: не требуется.

Пример запроса ​

http
GET /api/v1/objects/OBJECT_ID/comments HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY

Ответ и ошибки ​

Успех: 200. Массив комментариев.

json
{
  "data": [],
  "meta": {
    "correlationId": "CORRELATION_ID",
    "apiVersion": "v1"
  }
}

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

POST /api/v1/objects/{objectId}/comments

Действие ключа: comments:write. Оно не заменяет права владельца на объекты и поля.

body — текст; visibility: public или internal. Указывайте явно: значение по умолчанию internal. Для internal нужно соответствующее право.

Параметры пути: objectId. Тело: JSON; пример ниже показывает основные поля.

Поддерживает Idempotency-Key. См. безопасные повторы.

Пример запроса ​

http
POST /api/v1/objects/OBJECT_ID/comments HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: example-operation-001

{
  "body": "Текст комментария",
  "visibility": "public"
}

Ответ и ошибки ​

Успех: 201. Комментарий.

json
{
  "data": {
    "id": "COMMENT_ID",
    "revision": 1,
    "body": "Текст комментария",
    "visibility": "public"
  },
  "meta": {
    "correlationId": "CORRELATION_ID",
    "apiVersion": "v1"
  }
}

JSON-тело свыше 10 MiB отклоняется с 413.

Изменить комментарий ​

PATCH /api/v1/comments/{commentId}

Действие ключа: comments:write. Оно не заменяет права владельца на объекты и поля.

Нужны право редактирования и ревизия комментария. visibility можно не менять.

Параметры пути: commentId. Тело: JSON; пример ниже показывает основные поля.

Пример запроса ​

http
PATCH /api/v1/comments/COMMENT_ID HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "expectedRevision": 1,
  "body": "Уточнённый текст",
  "visibility": "public"
}

Ответ и ошибки ​

Успех: 200. Обновлённый комментарий.

json
{
  "data": {
    "id": "COMMENT_ID",
    "revision": 2,
    "body": "Уточнённый текст"
  },
  "meta": {
    "correlationId": "CORRELATION_ID",
    "apiVersion": "v1"
  }
}

JSON-тело свыше 10 MiB отклоняется с 413.

Удалить комментарий ​

DELETE /api/v1/comments/{commentId}

Действие ключа: comments:write. Оно не заменяет права владельца на объекты и поля.

expectedRevision — ревизия комментария, не родительской записи.

Параметры пути: commentId. Тело: JSON; пример ниже показывает основные поля.

Пример запроса ​

http
DELETE /api/v1/comments/COMMENT_ID HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "expectedRevision": 1
}

Ответ и ошибки ​

Успех: 200. Архивированный комментарий.

json
{
  "data": {
    "id": "COMMENT_ID",
    "state": "ARCHIVED"
  },
  "meta": {
    "correlationId": "CORRELATION_ID",
    "apiVersion": "v1"
  }
}

JSON-тело свыше 10 MiB отклоняется с 413.

Получить вложения ​

GET /api/v1/objects/{objectId}/attachments

Действие ключа: files:read. Оно не заменяет права владельца на объекты и поля.

Список обычных вложений, без встроенных изображений rich-text/отчёта о решении.

Параметры пути: objectId. Тело: не требуется.

Пример запроса ​

http
GET /api/v1/objects/OBJECT_ID/attachments HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY

Ответ и ошибки ​

Успех: 200. Массив метаданных файлов.

json
{
  "data": [],
  "meta": {
    "correlationId": "CORRELATION_ID",
    "apiVersion": "v1"
  }
}

Загрузить вложение ​

POST /api/v1/objects/{objectId}/attachments

Действие ключа: files:write. Оно не заменяет права владельца на объекты и поля.

JSON, не multipart. filename, contentBase64; mediaType необязателен. Пустой файл отвергается. Лимит JSON 10 MiB включает base64. objectId в теле, если передан, должен совпадать с URL.

Параметры пути: objectId. Тело: JSON; пример ниже показывает основные поля.

Поддерживает Idempotency-Key. См. безопасные повторы.

Пример запроса ​

http
POST /api/v1/objects/OBJECT_ID/attachments HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Idempotency-Key: example-operation-001

{
  "filename": "example.txt",
  "mediaType": "text/plain",
  "contentBase64": "SGVsbG8="
}

Ответ и ошибки ​

Успех: 201. Метаданные вложения.

json
{
  "data": {
    "id": "ATTACHMENT_ID",
    "originalFilename": "example.txt",
    "size": 5,
    "revision": 1
  },
  "meta": {
    "correlationId": "CORRELATION_ID",
    "apiVersion": "v1"
  }
}

JSON-тело свыше 10 MiB отклоняется с 413.

Скачать содержимое ​

GET /api/v1/attachments/{attachmentId}/content

Действие ключа: files:read. Оно не заменяет права владельца на объекты и поля.

Ответ — байты файла с Content-Type и Content-Disposition, без JSON envelope. Права проверяются повторно после чтения хранилища.

Параметры пути: attachmentId. Тело: не требуется.

Пример запроса ​

http
GET /api/v1/attachments/ATTACHMENT_ID/content HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY

Ответ и ошибки ​

Успех: 200. Двоичное тело.

text
Hello

Удалить вложение ​

DELETE /api/v1/attachments/{attachmentId}

Действие ключа: files:write. Оно не заменяет права владельца на объекты и поля.

Нужны attachment.delete и ревизия вложения. Встроенные изображения нельзя удалять этим методом.

Параметры пути: attachmentId. Тело: JSON; пример ниже показывает основные поля.

Пример запроса ​

http
DELETE /api/v1/attachments/ATTACHMENT_ID HTTP/1.1
Host: service.example.invalid
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

{
  "expectedRevision": 1
}

Ответ и ошибки ​

Успех: 200. Архивированные метаданные.

json
{
  "data": {
    "id": "ATTACHMENT_ID",
    "state": "ARCHIVED"
  },
  "meta": {
    "correlationId": "CORRELATION_ID",
    "apiVersion": "v1"
  }
}

JSON-тело свыше 10 MiB отклоняется с 413.

Связанные статьи ​

Сверено с версией 0.9 · редакция 13.10.2026

Документация NGENSIA · Работа, настройка и эксплуатация