Справочник методов
Все 29 операций публичного REST API v1. Справочник и скачиваемая спецификация используют один контракт.
Базовый URL: https://app.pmly.ru/api/public/v1. Все запросы требуют Authorization: Bearer <token>.
Скачать OpenAPI 3.1 · Общие правила и ошибки
Примеры иллюстрируют формат. Подставьте реальные ID в переменные окружения, текущую VERSION и новый IDEMPOTENCY_KEY для каждого создания. UUID, даты и текст в JSON — демонстрационные значения.
Получить контекст
Возвращает пользователя, пространство, выданные scopes и срок действия токена. Доступно с любым действующим токеном; используйте workspace.id для последующих запросов.
Разрешения: любой действующий токен. operationId: getContext
curl --request GET "$PMLY_API/context" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | Context | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
userОбязательно | object | Пользователь, от имени которого действует токен. |
workspaceОбязательно | Workspace | Пространство токена и текущая роль пользователя. |
scopesОбязательно | array<string> | Разрешения токена. Элементы: string |
expiresAtОбязательно | string | Дата и время истечения токена. date-time |
Дополнительные поля запрещены.
Вложенные поля user
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | uuid |
displayNameОбязательно | string | null |
Дополнительные поля запрещены.
{
"user": {
"id": "00000000-0000-4000-8000-000000000001",
"displayName": "Пример"
},
"workspace": {
"id": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"role": "OWNER"
},
"scopes": [
"Пример"
],
"expiresAt": "2026-09-30T10:00:00Z"
}Получить пространство
Возвращает имя пространства и роль текущего пользователя. Доступ ограничен пространством, к которому привязан токен.
Разрешения: workspace:read. operationId: getWorkspace
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | Workspace | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
nameОбязательно | string | Название ресурса. |
roleОбязательно | string | Роль участника: OWNER или MEMBER. Значения: "OWNER", "MEMBER" |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"role": "OWNER"
}Список команд
Возвращает команды пространства с постоянными UUID и ключами. teamId нужен при создании задач, проектов и циклов.
Разрешения: workspace:read. operationId: listTeams
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
limitНеобязательно | query · integer | Размер страницы. По умолчанию: 50. Минимум: 1. Максимум: 100 |
offsetНеобязательно | query · integer | Количество пропущенных ресурсов. По умолчанию: 0. Минимум: 0. Максимум: 100000 |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID/teams" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | TeamPage | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Team> | Ресурсы текущей страницы. Элементы: Team |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
{
"items": [
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"key": "Пример"
}
],
"total": 0,
"limit": 1,
"offset": 0
}Список статусов
Возвращает статусы команд, их категории, порядок и признак начального статуса. Статус задачи должен принадлежать её команде.
Разрешения: workspace:read. operationId: listStatuses
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
limitНеобязательно | query · integer | Размер страницы. По умолчанию: 50. Минимум: 1. Максимум: 100 |
offsetНеобязательно | query · integer | Количество пропущенных ресурсов. По умолчанию: 0. Минимум: 0. Максимум: 100000 |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID/statuses" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | StatusPage | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Status> | Ресурсы текущей страницы. Элементы: Status |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
{
"items": [
{
"id": "00000000-0000-4000-8000-000000000001",
"teamId": "00000000-0000-4000-8000-000000000001",
"label": "Пример",
"category": "backlog",
"order": 0,
"defaultStatus": false
}
],
"total": 0,
"limit": 1,
"offset": 0
}Список участников
Возвращает активных участников пространства и их роли без адресов email. Для назначения задачи используйте userId участника.
Разрешения: workspace:read. operationId: listMembers
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
limitНеобязательно | query · integer | Размер страницы. По умолчанию: 50. Минимум: 1. Максимум: 100 |
offsetНеобязательно | query · integer | Количество пропущенных ресурсов. По умолчанию: 0. Минимум: 0. Максимум: 100000 |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID/members" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | MemberPage | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Member> | Ресурсы текущей страницы. Элементы: Member |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
{
"items": [
{
"userId": "00000000-0000-4000-8000-000000000001",
"displayName": "Пример",
"role": "OWNER"
}
],
"total": 0,
"limit": 1,
"offset": 0
}Список задач
Возвращает страницу задач. Поиск: точный отображаемый ID либо вхождение в название без учёта регистра. Переданный пустой q возвращает пустую выдачу. Разные фильтры объединяются AND, повторные значения одного поля — OR.
Разрешения: issues:read. operationId: listIssues
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
limitНеобязательно | query · integer | Размер страницы. По умолчанию: 50. Минимум: 1. Максимум: 100 |
offsetНеобязательно | query · integer | Количество пропущенных ресурсов. По умолчанию: 0. Минимум: 0. Максимум: 100000 |
qНеобязательно | query · string | Точный отображаемый ID или вхождение в название без учёта регистра. Явный пустой q возвращает пустую выдачу. |
projectIdНеобязательно | query · array<string> | Повторные значения объединяются OR, разные поля — AND. Для projectId, assigneeId и cycleId допустимо none. Элементы: string |
statusIdНеобязательно | query · array<string> | Повторные значения объединяются OR, разные поля — AND. Для projectId, assigneeId и cycleId допустимо none. Элементы: string |
assigneeIdНеобязательно | query · array<string> | Повторные значения объединяются OR, разные поля — AND. Для projectId, assigneeId и cycleId допустимо none. Элементы: string |
priorityНеобязательно | query · array<integer> | Повторные значения объединяются OR, разные поля — AND. Для projectId, assigneeId и cycleId допустимо none. Элементы: integer. Минимум: 0. Максимум: 4 |
cycleIdНеобязательно | query · array<string> | Повторные значения объединяются OR, разные поля — AND. Для projectId, assigneeId и cycleId допустимо none. Элементы: string |
categoryНеобязательно | query · array<string> | Повторные значения объединяются OR, разные поля — AND. Для projectId, assigneeId и cycleId допустимо none. Элементы: string |
groupByНеобязательно | query · string | Поле группировки. Значения: "none", "status", "priority", "assignee", "project", "cycle" |
sortByНеобязательно | query · string | Поле сортировки. Значения: "createdAt", "updatedAt", "priority" |
sortDirectionНеобязательно | query · string | Направление сортировки. Значения: "asc", "desc" |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID/issues" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | IssuePage | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Issue> | Ресурсы текущей страницы. Элементы: Issue |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
{
"items": [
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"teamId": "00000000-0000-4000-8000-000000000001",
"projectId": "00000000-0000-4000-8000-000000000001",
"statusId": "00000000-0000-4000-8000-000000000001",
"assigneeId": "00000000-0000-4000-8000-000000000001",
"number": 1,
"identifier": "API-1",
"title": "Задача через API",
"description": "Пример",
"priority": 0,
"version": 1,
"createdAt": "2026-09-30T10:00:00Z",
"updatedAt": "2026-09-30T10:00:00Z",
"cycleId": "00000000-0000-4000-8000-000000000001"
}
],
"total": 0,
"limit": 1,
"offset": 0
}Создать задачу
Создаёт задачу с обязательными teamId и title. При отсутствии statusId используется начальный статус команды; приоритет по умолчанию 0. Ссылки на проект, статус, участника и цикл проверяются в границах пространства и команды. Нужен Idempotency-Key.
Разрешения: issues:write. operationId: createIssue
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
Idempotency-KeyОбязательно | header · string | Уникальный ключ создания длиной 1–128 символов. Повтор того же нормализованного запроса возвращает первоначальный успешный ответ в течение 24 часов. Минимальная длина: 1. Максимальная длина: 128 |
Тело запроса
Content-Type: application/json · обязательно
| Поле | Тип | Описание |
|---|---|---|
teamIdОбязательно | string | UUID команды ресурса. uuid |
projectIdНеобязательно | string | null | UUID проекта. null означает отсутствие проекта. uuid |
statusIdНеобязательно | string | UUID статуса команды задачи. uuid |
assigneeIdНеобязательно | string | null | UUID активного участника. null снимает назначение. uuid |
titleОбязательно | string | Название задачи. Минимальная длина: 1. Максимальная длина: 200 |
descriptionНеобязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
priorityНеобязательно | integer | Приоритет: 0 — без приоритета, 1 — срочный, 2 — высокий, 3 — средний, 4 — низкий. Минимум: 0. Максимум: 4 |
cycleIdНеобязательно | string | null | UUID цикла команды. null снимает цикл. uuid |
Дополнительные поля запрещены.
curl --request POST "$PMLY_API/workspaces/$WORKSPACE_ID/issues" \
--header "Authorization: Bearer $PMLY_API_TOKEN" \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--header "Content-Type: application/json" \
--data '{
"teamId": "00000000-0000-4000-8000-000000000001",
"title": "Задача через API"
}'Ответы
| HTTP | Схема | Описание |
|---|---|---|
201 | Issue | Ресурс создан; повтор возвращает первоначальный ответ Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 201
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
teamIdОбязательно | string | UUID команды ресурса. uuid |
projectIdОбязательно | string | null | UUID проекта. null означает отсутствие проекта. uuid |
statusIdОбязательно | string | UUID статуса команды задачи. uuid |
assigneeIdОбязательно | string | null | UUID активного участника. null снимает назначение. uuid |
numberОбязательно | integer | Номер задачи, назначенный сервером; уникален в команде. Минимум: 1 |
identifierОбязательно | string | Отображаемый ID задачи, например API-1. |
titleОбязательно | string | Название задачи. Минимальная длина: 1. Максимальная длина: 200 |
descriptionОбязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
priorityОбязательно | integer | Приоритет: 0 — без приоритета, 1 — срочный, 2 — высокий, 3 — средний, 4 — низкий. Минимум: 0. Максимум: 4 |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
createdAtОбязательно | string | Дата и время создания в UTC. date-time |
updatedAtОбязательно | string | Дата и время последнего изменения в UTC. date-time |
cycleIdОбязательно | string | null | UUID цикла команды. null снимает цикл. uuid |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"teamId": "00000000-0000-4000-8000-000000000001",
"projectId": "00000000-0000-4000-8000-000000000001",
"statusId": "00000000-0000-4000-8000-000000000001",
"assigneeId": "00000000-0000-4000-8000-000000000001",
"number": 1,
"identifier": "API-1",
"title": "Задача через API",
"description": "Пример",
"priority": 0,
"version": 1,
"createdAt": "2026-09-30T10:00:00Z",
"updatedAt": "2026-09-30T10:00:00Z",
"cycleId": "00000000-0000-4000-8000-000000000001"
}Получить задачу
Возвращает сохранённые поля задачи и текущую version. Используйте UUID id в маршрутах; identifier предназначен для отображения и поиска.
Разрешения: issues:read. operationId: getIssue
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
issueIdОбязательно | path · string | UUID ресурса в указанном пространстве. uuid |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID/issues/$ISSUE_ID" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | Issue | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
teamIdОбязательно | string | UUID команды ресурса. uuid |
projectIdОбязательно | string | null | UUID проекта. null означает отсутствие проекта. uuid |
statusIdОбязательно | string | UUID статуса команды задачи. uuid |
assigneeIdОбязательно | string | null | UUID активного участника. null снимает назначение. uuid |
numberОбязательно | integer | Номер задачи, назначенный сервером; уникален в команде. Минимум: 1 |
identifierОбязательно | string | Отображаемый ID задачи, например API-1. |
titleОбязательно | string | Название задачи. Минимальная длина: 1. Максимальная длина: 200 |
descriptionОбязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
priorityОбязательно | integer | Приоритет: 0 — без приоритета, 1 — срочный, 2 — высокий, 3 — средний, 4 — низкий. Минимум: 0. Максимум: 4 |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
createdAtОбязательно | string | Дата и время создания в UTC. date-time |
updatedAtОбязательно | string | Дата и время последнего изменения в UTC. date-time |
cycleIdОбязательно | string | null | UUID цикла команды. null снимает цикл. uuid |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"teamId": "00000000-0000-4000-8000-000000000001",
"projectId": "00000000-0000-4000-8000-000000000001",
"statusId": "00000000-0000-4000-8000-000000000001",
"assigneeId": "00000000-0000-4000-8000-000000000001",
"number": 1,
"identifier": "API-1",
"title": "Задача через API",
"description": "Пример",
"priority": 0,
"version": 1,
"createdAt": "2026-09-30T10:00:00Z",
"updatedAt": "2026-09-30T10:00:00Z",
"cycleId": "00000000-0000-4000-8000-000000000001"
}Изменить задачу
Меняет только переданные поля задачи. Требует актуальную version. null снимает projectId, assigneeId или cycleId; пустое описание очищает текст. teamId изменить нельзя. Устаревшая версия даёт 409 даже при отсутствии изменений.
Разрешения: issues:write. operationId: updateIssue
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
issueIdОбязательно | path · string | UUID ресурса в указанном пространстве. uuid |
Тело запроса
Content-Type: application/json · обязательно
| Поле | Тип | Описание |
|---|---|---|
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
projectIdНеобязательно | string | null | UUID проекта. null означает отсутствие проекта. uuid |
statusIdНеобязательно | string | UUID статуса команды задачи. uuid |
assigneeIdНеобязательно | string | null | UUID активного участника. null снимает назначение. uuid |
titleНеобязательно | string | Название задачи. Минимальная длина: 1. Максимальная длина: 200 |
descriptionНеобязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
priorityНеобязательно | integer | Приоритет: 0 — без приоритета, 1 — срочный, 2 — высокий, 3 — средний, 4 — низкий. Минимум: 0. Максимум: 4 |
cycleIdНеобязательно | string | null | UUID цикла команды. null снимает цикл. uuid |
Дополнительные поля запрещены.
curl --request PATCH "$PMLY_API/workspaces/$WORKSPACE_ID/issues/$ISSUE_ID" \
--header "Authorization: Bearer $PMLY_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"version": 1,
"priority": 2
}'Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | Issue | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
teamIdОбязательно | string | UUID команды ресурса. uuid |
projectIdОбязательно | string | null | UUID проекта. null означает отсутствие проекта. uuid |
statusIdОбязательно | string | UUID статуса команды задачи. uuid |
assigneeIdОбязательно | string | null | UUID активного участника. null снимает назначение. uuid |
numberОбязательно | integer | Номер задачи, назначенный сервером; уникален в команде. Минимум: 1 |
identifierОбязательно | string | Отображаемый ID задачи, например API-1. |
titleОбязательно | string | Название задачи. Минимальная длина: 1. Максимальная длина: 200 |
descriptionОбязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
priorityОбязательно | integer | Приоритет: 0 — без приоритета, 1 — срочный, 2 — высокий, 3 — средний, 4 — низкий. Минимум: 0. Максимум: 4 |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
createdAtОбязательно | string | Дата и время создания в UTC. date-time |
updatedAtОбязательно | string | Дата и время последнего изменения в UTC. date-time |
cycleIdОбязательно | string | null | UUID цикла команды. null снимает цикл. uuid |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"teamId": "00000000-0000-4000-8000-000000000001",
"projectId": "00000000-0000-4000-8000-000000000001",
"statusId": "00000000-0000-4000-8000-000000000001",
"assigneeId": "00000000-0000-4000-8000-000000000001",
"number": 1,
"identifier": "API-1",
"title": "Задача через API",
"description": "Пример",
"priority": 0,
"version": 1,
"createdAt": "2026-09-30T10:00:00Z",
"updatedAt": "2026-09-30T10:00:00Z",
"cycleId": "00000000-0000-4000-8000-000000000001"
}Список проектов
Возвращает страницу ресурсов пространства с items, total, limit и offset. Данные доступны в пределах прав пользователя и токена.
Разрешения: projects:read. operationId: listProjects
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
limitНеобязательно | query · integer | Размер страницы. По умолчанию: 50. Минимум: 1. Максимум: 100 |
offsetНеобязательно | query · integer | Количество пропущенных ресурсов. По умолчанию: 0. Минимум: 0. Максимум: 100000 |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID/projects" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | ProjectPage | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Project> | Ресурсы текущей страницы. Элементы: Project |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
{
"items": [
{
"id": "00000000-0000-4000-8000-000000000001",
"teamId": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"description": "Пример",
"version": 1
}
],
"total": 0,
"limit": 1,
"offset": 0
}Создать проект
Создаёт проект в указанной команде с обязательным именем. Нужен Idempotency-Key.
Разрешения: projects:write. operationId: createProject
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
Idempotency-KeyОбязательно | header · string | Уникальный ключ создания длиной 1–128 символов. Повтор того же нормализованного запроса возвращает первоначальный успешный ответ в течение 24 часов. Минимальная длина: 1. Максимальная длина: 128 |
Тело запроса
Content-Type: application/json · обязательно
| Поле | Тип | Описание |
|---|---|---|
teamIdОбязательно | string | UUID команды ресурса. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
descriptionНеобязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
Дополнительные поля запрещены.
curl --request POST "$PMLY_API/workspaces/$WORKSPACE_ID/projects" \
--header "Authorization: Bearer $PMLY_API_TOKEN" \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--header "Content-Type: application/json" \
--data '{
"teamId": "00000000-0000-4000-8000-000000000001",
"name": "Новый проект"
}'Ответы
| HTTP | Схема | Описание |
|---|---|---|
201 | Project | Ресурс создан; повтор возвращает первоначальный ответ Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 201
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
teamIdОбязательно | string | UUID команды ресурса. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
descriptionОбязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"teamId": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"description": "Пример",
"version": 1
}Получить проект
Возвращает проект и текущую version для последующего изменения.
Разрешения: projects:read. operationId: getProject
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
projectIdОбязательно | path · string | UUID проекта. null означает отсутствие проекта. uuid |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID/projects/$PROJECT_ID" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | Project | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
teamIdОбязательно | string | UUID команды ресурса. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
descriptionОбязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"teamId": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"description": "Пример",
"version": 1
}Изменить проект
Меняет только переданные имя и описание проекта. Требует текущую version; teamId изменить нельзя.
Разрешения: projects:write. operationId: updateProject
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
projectIdОбязательно | path · string | UUID проекта. null означает отсутствие проекта. uuid |
Тело запроса
Content-Type: application/json · обязательно
| Поле | Тип | Описание |
|---|---|---|
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
nameНеобязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
descriptionНеобязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
Дополнительные поля запрещены.
curl --request PATCH "$PMLY_API/workspaces/$WORKSPACE_ID/projects/$PROJECT_ID" \
--header "Authorization: Bearer $PMLY_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"version": 1,
"name": "Обновлённый проект"
}'Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | Project | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
teamIdОбязательно | string | UUID команды ресурса. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
descriptionОбязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"teamId": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"description": "Пример",
"version": 1
}Список циклов
Возвращает страницу ресурсов пространства с items, total, limit и offset. Данные доступны в пределах прав пользователя и токена.
Разрешения: cycles:read. operationId: listCycles
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
limitНеобязательно | query · integer | Размер страницы. По умолчанию: 50. Минимум: 1. Максимум: 100 |
offsetНеобязательно | query · integer | Количество пропущенных ресурсов. По умолчанию: 0. Минимум: 0. Максимум: 100000 |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID/cycles" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | CyclePage | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Cycle> | Ресурсы текущей страницы. Элементы: Cycle |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
{
"items": [
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"teamId": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"startDate": "2026-10-01",
"endDate": "2026-10-14",
"state": "open",
"version": 1
}
],
"total": 0,
"limit": 1,
"offset": 0
}Создать цикл
Создаёт цикл в указанной команде. Передайте имя и даты начала/окончания; начало не должно быть позже окончания. Нужен Idempotency-Key.
Разрешения: cycles:write. operationId: createCycle
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
Idempotency-KeyОбязательно | header · string | Уникальный ключ создания длиной 1–128 символов. Повтор того же нормализованного запроса возвращает первоначальный успешный ответ в течение 24 часов. Минимальная длина: 1. Максимальная длина: 128 |
Тело запроса
Content-Type: application/json · обязательно
| Поле | Тип | Описание |
|---|---|---|
teamIdОбязательно | string | UUID команды ресурса. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
startDateОбязательно | string | Дата начала цикла, YYYY-MM-DD. date |
endDateОбязательно | string | Дата окончания цикла, YYYY-MM-DD. date |
Дополнительные поля запрещены.
curl --request POST "$PMLY_API/workspaces/$WORKSPACE_ID/cycles" \
--header "Authorization: Bearer $PMLY_API_TOKEN" \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--header "Content-Type: application/json" \
--data '{
"teamId": "00000000-0000-4000-8000-000000000001",
"name": "Октябрь",
"startDate": "2026-10-01",
"endDate": "2026-10-14"
}'Ответы
| HTTP | Схема | Описание |
|---|---|---|
201 | Cycle | Ресурс создан; повтор возвращает первоначальный ответ Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 201
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
teamIdОбязательно | string | UUID команды ресурса. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
startDateОбязательно | string | Дата начала цикла, YYYY-MM-DD. date |
endDateОбязательно | string | Дата окончания цикла, YYYY-MM-DD. date |
stateОбязательно | string | Состояние цикла. Значения: "open", "completed" |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"teamId": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"startDate": "2026-10-01",
"endDate": "2026-10-14",
"state": "open",
"version": 1
}Получить цикл
Возвращает цикл, диапазон дат, состояние и текущую version.
Разрешения: cycles:read. operationId: getCycle
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
cycleIdОбязательно | path · string | UUID цикла команды. null снимает цикл. uuid |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID/cycles/$CYCLE_ID" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | Cycle | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
teamIdОбязательно | string | UUID команды ресурса. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
startDateОбязательно | string | Дата начала цикла, YYYY-MM-DD. date |
endDateОбязательно | string | Дата окончания цикла, YYYY-MM-DD. date |
stateОбязательно | string | Состояние цикла. Значения: "open", "completed" |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"teamId": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"startDate": "2026-10-01",
"endDate": "2026-10-14",
"state": "open",
"version": 1
}Изменить цикл
Меняет только переданные имя и даты цикла с проверкой актуальной version.
Разрешения: cycles:write. operationId: updateCycle
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
cycleIdОбязательно | path · string | UUID цикла команды. null снимает цикл. uuid |
Тело запроса
Content-Type: application/json · обязательно
| Поле | Тип | Описание |
|---|---|---|
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
nameНеобязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
startDateНеобязательно | string | Дата начала цикла, YYYY-MM-DD. date |
endDateНеобязательно | string | Дата окончания цикла, YYYY-MM-DD. date |
Дополнительные поля запрещены.
curl --request PATCH "$PMLY_API/workspaces/$WORKSPACE_ID/cycles/$CYCLE_ID" \
--header "Authorization: Bearer $PMLY_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"version": 1,
"name": "Обновлённый цикл"
}'Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | Cycle | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
teamIdОбязательно | string | UUID команды ресурса. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
startDateОбязательно | string | Дата начала цикла, YYYY-MM-DD. date |
endDateОбязательно | string | Дата окончания цикла, YYYY-MM-DD. date |
stateОбязательно | string | Состояние цикла. Значения: "open", "completed" |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"teamId": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"startDate": "2026-10-01",
"endDate": "2026-10-14",
"state": "open",
"version": 1
}Завершить цикл
Завершает цикл с проверкой актуальной version. Это команда изменения существующего ресурса, поэтому Idempotency-Key не требуется.
Разрешения: cycles:write. operationId: completeCycle
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
cycleIdОбязательно | path · string | UUID цикла команды. null снимает цикл. uuid |
Тело запроса
Content-Type: application/json · обязательно
| Поле | Тип | Описание |
|---|---|---|
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
curl --request POST "$PMLY_API/workspaces/$WORKSPACE_ID/cycles/$CYCLE_ID/complete" \
--header "Authorization: Bearer $PMLY_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"version": 1
}'Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | Cycle | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
teamIdОбязательно | string | UUID команды ресурса. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
startDateОбязательно | string | Дата начала цикла, YYYY-MM-DD. date |
endDateОбязательно | string | Дата окончания цикла, YYYY-MM-DD. date |
stateОбязательно | string | Состояние цикла. Значения: "open", "completed" |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"teamId": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"startDate": "2026-10-01",
"endDate": "2026-10-14",
"state": "open",
"version": 1
}Список представлений
Возвращает страницу ресурсов пространства с items, total, limit и offset. Данные доступны в пределах прав пользователя и токена.
Разрешения: views:read. operationId: listViews
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
limitНеобязательно | query · integer | Размер страницы. По умолчанию: 50. Минимум: 1. Максимум: 100 |
offsetНеобязательно | query · integer | Количество пропущенных ресурсов. По умолчанию: 0. Минимум: 0. Максимум: 100000 |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID/views" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | ViewPage | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<View> | Ресурсы текущей страницы. Элементы: View |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
{
"items": [
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"authorId": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"settings": {
"q": "Пример",
"projectId": [
"Пример"
],
"statusId": [
"Пример"
],
"assigneeId": [
"Пример"
],
"cycleId": [
"Пример"
],
"category": [
"Пример"
],
"priority": [
0
],
"groupBy": "none",
"sortBy": "createdAt",
"sortDirection": "asc"
},
"version": 1
}
],
"total": 0,
"limit": 1,
"offset": 0
}Создать представление
Создаёт представление с именем и настройками. Нужен Idempotency-Key.
Разрешения: views:write. operationId: createView
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
Idempotency-KeyОбязательно | header · string | Уникальный ключ создания длиной 1–128 символов. Повтор того же нормализованного запроса возвращает первоначальный успешный ответ в течение 24 часов. Минимальная длина: 1. Максимальная длина: 128 |
Тело запроса
Content-Type: application/json · обязательно
| Поле | Тип | Описание |
|---|---|---|
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
settingsОбязательно | ViewSettings | Фильтры и отображение представления. При PATCH переданный объект заменяется целиком. |
Дополнительные поля запрещены.
curl --request POST "$PMLY_API/workspaces/$WORKSPACE_ID/views" \
--header "Authorization: Bearer $PMLY_API_TOKEN" \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--header "Content-Type: application/json" \
--data '{
"name": "Высокий приоритет",
"settings": {
"priority": [
1,
2
],
"groupBy": "status",
"sortBy": "updatedAt",
"sortDirection": "desc"
}
}'Ответы
| HTTP | Схема | Описание |
|---|---|---|
201 | View | Ресурс создан; повтор возвращает первоначальный ответ Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 201
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
authorIdОбязательно | string | UUID автора. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
settingsОбязательно | ViewSettings | Фильтры и отображение представления. При PATCH переданный объект заменяется целиком. |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"authorId": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"settings": {
"q": "Пример",
"projectId": [
"Пример"
],
"statusId": [
"Пример"
],
"assigneeId": [
"Пример"
],
"cycleId": [
"Пример"
],
"category": [
"Пример"
],
"priority": [
0
],
"groupBy": "none",
"sortBy": "createdAt",
"sortDirection": "asc"
},
"version": 1
}Получить представление
Возвращает сохранённое представление с фильтрами, группировкой, сортировкой и текущей version.
Разрешения: views:read. operationId: getView
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
viewIdОбязательно | path · string | UUID ресурса в указанном пространстве. uuid |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID/views/$VIEW_ID" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | View | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
authorIdОбязательно | string | UUID автора. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
settingsОбязательно | ViewSettings | Фильтры и отображение представления. При PATCH переданный объект заменяется целиком. |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"authorId": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"settings": {
"q": "Пример",
"projectId": [
"Пример"
],
"statusId": [
"Пример"
],
"assigneeId": [
"Пример"
],
"cycleId": [
"Пример"
],
"category": [
"Пример"
],
"priority": [
0
],
"groupBy": "none",
"sortBy": "createdAt",
"sortDirection": "asc"
},
"version": 1
}Изменить представление
Меняет имя и/или настройки с проверкой version. Переданный объект settings заменяется целиком. Сохраняются права автора и владельца пространства.
Разрешения: views:write. operationId: updateView
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
viewIdОбязательно | path · string | UUID ресурса в указанном пространстве. uuid |
Тело запроса
Content-Type: application/json · обязательно
| Поле | Тип | Описание |
|---|---|---|
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
nameНеобязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
settingsНеобязательно | ViewSettings | Фильтры и отображение представления. При PATCH переданный объект заменяется целиком. |
Дополнительные поля запрещены.
curl --request PATCH "$PMLY_API/workspaces/$WORKSPACE_ID/views/$VIEW_ID" \
--header "Authorization: Bearer $PMLY_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"version": 1,
"name": "Обновлённое представление"
}'Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | View | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
authorIdОбязательно | string | UUID автора. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
settingsОбязательно | ViewSettings | Фильтры и отображение представления. При PATCH переданный объект заменяется целиком. |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"authorId": "00000000-0000-4000-8000-000000000001",
"name": "Пример названия",
"settings": {
"q": "Пример",
"projectId": [
"Пример"
],
"statusId": [
"Пример"
],
"assigneeId": [
"Пример"
],
"cycleId": [
"Пример"
],
"category": [
"Пример"
],
"priority": [
0
],
"groupBy": "none",
"sortBy": "createdAt",
"sortDirection": "asc"
},
"version": 1
}Удалить представление
Удаляет представление с проверкой version из query-параметра. Сохраняются права автора и владельца пространства. Успех — 204 без тела.
Разрешения: views:write. operationId: deleteView
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
viewIdОбязательно | path · string | UUID ресурса в указанном пространстве. uuid |
versionОбязательно | query · integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
curl --request DELETE "$PMLY_API/workspaces/$WORKSPACE_ID/views/$VIEW_ID?version=$VERSION" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
204 | Без тела | Успешное удаление, без тела Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Список комментариев
Возвращает страницу ресурсов пространства с items, total, limit и offset. Данные доступны в пределах прав пользователя и токена.
Разрешения: comments:read. operationId: listComments
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
issueIdОбязательно | path · string | UUID ресурса в указанном пространстве. uuid |
limitНеобязательно | query · integer | Размер страницы. По умолчанию: 50. Минимум: 1. Максимум: 100 |
offsetНеобязательно | query · integer | Количество пропущенных ресурсов. По умолчанию: 0. Минимум: 0. Максимум: 100000 |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID/issues/$ISSUE_ID/comments" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | CommentPage | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Comment> | Ресурсы текущей страницы. Элементы: Comment |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
{
"items": [
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"issueId": "00000000-0000-4000-8000-000000000001",
"authorId": "00000000-0000-4000-8000-000000000001",
"authorName": "Пример",
"body": "Комментарий через API",
"createdAt": "2026-09-30T10:00:00Z",
"updatedAt": "2026-09-30T10:00:00Z",
"deletedAt": null,
"version": 1,
"mentions": [],
"sourceClient": null
}
],
"total": 0,
"limit": 1,
"offset": 0
}Создать комментарий
Создаёт комментарий к задаче. Текст обрезается по краям; упоминания проверяются относительно переданного текста. Нужен Idempotency-Key. Автор назначается сервером.
Разрешения: comments:write. operationId: createComment
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
issueIdОбязательно | path · string | UUID ресурса в указанном пространстве. uuid |
Idempotency-KeyОбязательно | header · string | Уникальный ключ создания длиной 1–128 символов. Повтор того же нормализованного запроса возвращает первоначальный успешный ответ в течение 24 часов. Минимальная длина: 1. Максимальная длина: 128 |
Тело запроса
Content-Type: application/json · обязательно
| Поле | Тип | Описание |
|---|---|---|
bodyОбязательно | string | Текст комментария; пробелы по краям удаляются. У удалённого комментария текст пустой. Минимальная длина: 1. Максимальная длина: 20000 |
mentionsНеобязательно | array<CommentMention> | Непересекающиеся @упоминания участников. При изменении body без mentions очищаются; при запросе только с version сохраняются. Максимум элементов: 100. Элементы: CommentMention |
Дополнительные поля запрещены.
curl --request POST "$PMLY_API/workspaces/$WORKSPACE_ID/issues/$ISSUE_ID/comments" \
--header "Authorization: Bearer $PMLY_API_TOKEN" \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--header "Content-Type: application/json" \
--data '{
"body": "Комментарий через API"
}'Ответы
| HTTP | Схема | Описание |
|---|---|---|
201 | Comment | Ресурс создан; повтор возвращает первоначальный ответ Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 201
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
issueIdОбязательно | string | uuid |
authorIdОбязательно | string | UUID автора. uuid |
authorNameОбязательно | string | Имя автора. |
bodyОбязательно | string | Текст комментария; пробелы по краям удаляются. У удалённого комментария текст пустой. Максимальная длина: 20000 |
createdAtОбязательно | string | Дата и время создания в UTC. date-time |
updatedAtОбязательно | string | Дата и время последнего изменения в UTC. date-time |
deletedAtОбязательно | string | null | Дата удаления; null для действующего комментария. date-time |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
mentionsОбязательно | array<CommentMention> | Непересекающиеся @упоминания участников. При изменении body без mentions очищаются; при запросе только с version сохраняются. Максимум элементов: 100. Элементы: CommentMention |
sourceClientНеобязательно | string | null | Название MCP-клиента, назначенное сервером. null для обычного пользовательского или REST-комментария. Максимальная длина: 100 |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"issueId": "00000000-0000-4000-8000-000000000001",
"authorId": "00000000-0000-4000-8000-000000000001",
"authorName": "Пример",
"body": "Комментарий через API",
"createdAt": "2026-09-30T10:00:00Z",
"updatedAt": "2026-09-30T10:00:00Z",
"deletedAt": null,
"version": 1,
"mentions": [],
"sourceClient": null
}Получить комментарий
Возвращает комментарий, автора, упоминания, версию и отметку удаления. У удалённого комментария body пустой; deletedAt заполнено.
Разрешения: comments:read. operationId: getComment
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
issueIdОбязательно | path · string | UUID ресурса в указанном пространстве. uuid |
commentIdОбязательно | path · string | UUID ресурса в указанном пространстве. uuid |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID/issues/$ISSUE_ID/comments/$COMMENT_ID" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | Comment | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
issueIdОбязательно | string | uuid |
authorIdОбязательно | string | UUID автора. uuid |
authorNameОбязательно | string | Имя автора. |
bodyОбязательно | string | Текст комментария; пробелы по краям удаляются. У удалённого комментария текст пустой. Максимальная длина: 20000 |
createdAtОбязательно | string | Дата и время создания в UTC. date-time |
updatedAtОбязательно | string | Дата и время последнего изменения в UTC. date-time |
deletedAtОбязательно | string | null | Дата удаления; null для действующего комментария. date-time |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
mentionsОбязательно | array<CommentMention> | Непересекающиеся @упоминания участников. При изменении body без mentions очищаются; при запросе только с version сохраняются. Максимум элементов: 100. Элементы: CommentMention |
sourceClientНеобязательно | string | null | Название MCP-клиента, назначенное сервером. null для обычного пользовательского или REST-комментария. Максимальная длина: 100 |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"issueId": "00000000-0000-4000-8000-000000000001",
"authorId": "00000000-0000-4000-8000-000000000001",
"authorName": "Пример",
"body": "Комментарий через API",
"createdAt": "2026-09-30T10:00:00Z",
"updatedAt": "2026-09-30T10:00:00Z",
"deletedAt": null,
"version": 1,
"mentions": [],
"sourceClient": null
}Изменить комментарий
Меняет комментарий с проверкой version и прав автора/владельца пространства. При изменении body без mentions упоминания очищаются; при передаче только version сохраняются.
Разрешения: comments:write. operationId: updateComment
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
issueIdОбязательно | path · string | UUID ресурса в указанном пространстве. uuid |
commentIdОбязательно | path · string | UUID ресурса в указанном пространстве. uuid |
Тело запроса
Content-Type: application/json · обязательно
| Поле | Тип | Описание |
|---|---|---|
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
bodyНеобязательно | string | Текст комментария; пробелы по краям удаляются. У удалённого комментария текст пустой. Минимальная длина: 1. Максимальная длина: 20000 |
mentionsНеобязательно | array<CommentMention> | Непересекающиеся @упоминания участников. При изменении body без mentions очищаются; при запросе только с version сохраняются. Максимум элементов: 100. Элементы: CommentMention |
Дополнительные поля запрещены.
curl --request PATCH "$PMLY_API/workspaces/$WORKSPACE_ID/issues/$ISSUE_ID/comments/$COMMENT_ID" \
--header "Authorization: Bearer $PMLY_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"version": 1,
"body": "Обновлённый комментарий"
}'Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | Comment | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
issueIdОбязательно | string | uuid |
authorIdОбязательно | string | UUID автора. uuid |
authorNameОбязательно | string | Имя автора. |
bodyОбязательно | string | Текст комментария; пробелы по краям удаляются. У удалённого комментария текст пустой. Максимальная длина: 20000 |
createdAtОбязательно | string | Дата и время создания в UTC. date-time |
updatedAtОбязательно | string | Дата и время последнего изменения в UTC. date-time |
deletedAtОбязательно | string | null | Дата удаления; null для действующего комментария. date-time |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
mentionsОбязательно | array<CommentMention> | Непересекающиеся @упоминания участников. При изменении body без mentions очищаются; при запросе только с version сохраняются. Максимум элементов: 100. Элементы: CommentMention |
sourceClientНеобязательно | string | null | Название MCP-клиента, назначенное сервером. null для обычного пользовательского или REST-комментария. Максимальная длина: 100 |
Дополнительные поля запрещены.
{
"id": "00000000-0000-4000-8000-000000000001",
"workspaceId": "00000000-0000-4000-8000-000000000001",
"issueId": "00000000-0000-4000-8000-000000000001",
"authorId": "00000000-0000-4000-8000-000000000001",
"authorName": "Пример",
"body": "Комментарий через API",
"createdAt": "2026-09-30T10:00:00Z",
"updatedAt": "2026-09-30T10:00:00Z",
"deletedAt": null,
"version": 1,
"mentions": [],
"sourceClient": null
}Удалить комментарий
Удаляет текст комментария с проверкой version из query-параметра и прав автора/владельца пространства. Метаданные остаются; успех — 204 без тела.
Разрешения: comments:write. operationId: deleteComment
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
issueIdОбязательно | path · string | UUID ресурса в указанном пространстве. uuid |
commentIdОбязательно | path · string | UUID ресурса в указанном пространстве. uuid |
versionОбязательно | query · integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
curl --request DELETE "$PMLY_API/workspaces/$WORKSPACE_ID/issues/$ISSUE_ID/comments/$COMMENT_ID?version=$VERSION" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
204 | Без тела | Успешное удаление, без тела Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
История задачи
Возвращает страницу истории задачи с автором, видом изменения и изменёнными значениями. Запись изменения и истории выполняется атомарно.
Разрешения: issues:read. operationId: listIssueActivity
Параметры
| Параметр | Где / тип | Описание |
|---|---|---|
workspaceIdОбязательно | path · string | UUID пространства, к которому привязан токен. uuid |
issueIdОбязательно | path · string | UUID ресурса в указанном пространстве. uuid |
limitНеобязательно | query · integer | Размер страницы. По умолчанию: 50. Минимум: 1. Максимум: 100 |
offsetНеобязательно | query · integer | Количество пропущенных ресурсов. По умолчанию: 0. Минимум: 0. Максимум: 100000 |
curl --request GET "$PMLY_API/workspaces/$WORKSPACE_ID/issues/$ISSUE_ID/activity" \
--header "Authorization: Bearer $PMLY_API_TOKEN"Ответы
| HTTP | Схема | Описание |
|---|---|---|
200 | ActivityPage | Успешный запрос Заголовки: X-Request-Id |
400 | Error | Неверные параметры или тело запроса |
401 | Error | Токен отсутствует, истёк или отозван Заголовки: WWW-Authenticate |
403 | Error | Недостаточно разрешений или бизнес-прав |
404 | Error | Ресурс не найден или недоступен в этом пространстве |
409 | Error | Конфликт версии или ключа идемпотентности |
413 | Error | Тело запроса слишком велико |
429 | Error | Лимит запросов; подождите Retry-After секунд Заголовки: Retry-After |
500 | Error | Internal error |
Схема и пример ответа 200
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Activity> | Ресурсы текущей страницы. Элементы: Activity |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
{
"items": [
{
"id": "00000000-0000-4000-8000-000000000001",
"actorId": "00000000-0000-4000-8000-000000000001",
"actorName": "Пример",
"kind": "Пример",
"changes": {},
"createdAt": "2026-09-30T10:00:00Z"
}
],
"total": 0,
"limit": 1,
"offset": 0
}Схемы данных
Ссылки в таблицах ведут к полному описанию вложенных объектов.
Error
| Поле | Тип | Описание |
|---|---|---|
codeОбязательно | string | Машиночитаемый код ошибки. |
messageОбязательно | string | Описание ошибки. |
requestIdОбязательно | string | UUID запроса; также возвращается в X-Request-Id. uuid |
Дополнительные поля запрещены.
Workspace
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
nameОбязательно | string | Название ресурса. |
roleОбязательно | string | Роль участника: OWNER или MEMBER. Значения: "OWNER", "MEMBER" |
Дополнительные поля запрещены.
Team
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
nameОбязательно | string | Название ресурса. |
keyОбязательно | string | Ключ команды, используемый в отображаемых номерах задач. |
Дополнительные поля запрещены.
Status
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
teamIdОбязательно | string | UUID команды ресурса. uuid |
labelОбязательно | string | Название статуса. |
categoryОбязательно | string | Категория статуса. Значения: "backlog", "unstarted", "started", "completed", "canceled" |
orderОбязательно | integer | Порядок статуса в команде. |
defaultStatusОбязательно | boolean | Является ли статус начальным для команды. |
Дополнительные поля запрещены.
Member
| Поле | Тип | Описание |
|---|---|---|
userIdОбязательно | string | UUID пользователя. uuid |
displayNameОбязательно | string | null | Отображаемое имя пользователя. |
roleОбязательно | string | Роль участника: OWNER или MEMBER. Значения: "OWNER", "MEMBER" |
Дополнительные поля запрещены.
Context
| Поле | Тип | Описание |
|---|---|---|
userОбязательно | object | Пользователь, от имени которого действует токен. |
workspaceОбязательно | Workspace | Пространство токена и текущая роль пользователя. |
scopesОбязательно | array<string> | Разрешения токена. Элементы: string |
expiresAtОбязательно | string | Дата и время истечения токена. date-time |
Дополнительные поля запрещены.
Вложенные поля user
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | uuid |
displayNameОбязательно | string | null |
Дополнительные поля запрещены.
Issue
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
teamIdОбязательно | string | UUID команды ресурса. uuid |
projectIdОбязательно | string | null | UUID проекта. null означает отсутствие проекта. uuid |
statusIdОбязательно | string | UUID статуса команды задачи. uuid |
assigneeIdОбязательно | string | null | UUID активного участника. null снимает назначение. uuid |
numberОбязательно | integer | Номер задачи, назначенный сервером; уникален в команде. Минимум: 1 |
identifierОбязательно | string | Отображаемый ID задачи, например API-1. |
titleОбязательно | string | Название задачи. Минимальная длина: 1. Максимальная длина: 200 |
descriptionОбязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
priorityОбязательно | integer | Приоритет: 0 — без приоритета, 1 — срочный, 2 — высокий, 3 — средний, 4 — низкий. Минимум: 0. Максимум: 4 |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
createdAtОбязательно | string | Дата и время создания в UTC. date-time |
updatedAtОбязательно | string | Дата и время последнего изменения в UTC. date-time |
cycleIdОбязательно | string | null | UUID цикла команды. null снимает цикл. uuid |
Дополнительные поля запрещены.
Project
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
teamIdОбязательно | string | UUID команды ресурса. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
descriptionОбязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
Cycle
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
teamIdОбязательно | string | UUID команды ресурса. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
startDateОбязательно | string | Дата начала цикла, YYYY-MM-DD. date |
endDateОбязательно | string | Дата окончания цикла, YYYY-MM-DD. date |
stateОбязательно | string | Состояние цикла. Значения: "open", "completed" |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
ViewSettings
| Поле | Тип | Описание |
|---|---|---|
qНеобязательно | string | Вхождение в название или точный отображаемый ID задачи. |
projectIdНеобязательно | array<string> | Выбранные значения фильтра. Значения одного поля — OR, разные поля — AND. Максимум элементов: 100. Элементы: string |
statusIdНеобязательно | array<string> | Выбранные значения фильтра. Значения одного поля — OR, разные поля — AND. Максимум элементов: 100. Элементы: string |
assigneeIdНеобязательно | array<string> | Выбранные значения фильтра. Значения одного поля — OR, разные поля — AND. Максимум элементов: 100. Элементы: string |
cycleIdНеобязательно | array<string> | Выбранные значения фильтра. Значения одного поля — OR, разные поля — AND. Максимум элементов: 100. Элементы: string |
categoryНеобязательно | array<string> | Выбранные значения фильтра. Значения одного поля — OR, разные поля — AND. Максимум элементов: 100. Элементы: string |
priorityНеобязательно | array<integer> | Выбранные значения фильтра. Значения одного поля — OR, разные поля — AND. Максимум элементов: 100. Элементы: integer. Минимум: 0. Максимум: 4 |
groupByНеобязательно | string | Поле группировки. Значения: "none", "status", "priority", "assignee", "project", "cycle" |
sortByНеобязательно | string | Поле сортировки. Значения: "createdAt", "updatedAt", "priority" |
sortDirectionНеобязательно | string | Направление сортировки. Значения: "asc", "desc" |
Дополнительные поля запрещены.
View
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
authorIdОбязательно | string | UUID автора. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
settingsОбязательно | ViewSettings | Фильтры и отображение представления. При PATCH переданный объект заменяется целиком. |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
Comment
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
workspaceIdОбязательно | string | UUID пространства, к которому привязан токен. uuid |
issueIdОбязательно | string | uuid |
authorIdОбязательно | string | UUID автора. uuid |
authorNameОбязательно | string | Имя автора. |
bodyОбязательно | string | Текст комментария; пробелы по краям удаляются. У удалённого комментария текст пустой. Максимальная длина: 20000 |
createdAtОбязательно | string | Дата и время создания в UTC. date-time |
updatedAtОбязательно | string | Дата и время последнего изменения в UTC. date-time |
deletedAtОбязательно | string | null | Дата удаления; null для действующего комментария. date-time |
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
mentionsОбязательно | array<CommentMention> | Непересекающиеся @упоминания участников. При изменении body без mentions очищаются; при запросе только с version сохраняются. Максимум элементов: 100. Элементы: CommentMention |
sourceClientНеобязательно | string | null | Название MCP-клиента, назначенное сервером. null для обычного пользовательского или REST-комментария. Максимальная длина: 100 |
Дополнительные поля запрещены.
Activity
| Поле | Тип | Описание |
|---|---|---|
idОбязательно | string | Постоянный UUID ресурса. uuid |
actorIdОбязательно | string | UUID автора изменения. uuid |
actorNameОбязательно | string | Имя автора изменения. |
kindОбязательно | string | Вид события истории. |
changesОбязательно | object | Изменённые поля и значения. |
createdAtОбязательно | string | Дата и время создания в UTC. date-time |
Дополнительные поля запрещены.
WorkspacePage
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Workspace> | Ресурсы текущей страницы. Элементы: Workspace |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
TeamPage
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Team> | Ресурсы текущей страницы. Элементы: Team |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
StatusPage
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Status> | Ресурсы текущей страницы. Элементы: Status |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
MemberPage
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Member> | Ресурсы текущей страницы. Элементы: Member |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
IssuePage
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Issue> | Ресурсы текущей страницы. Элементы: Issue |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
ProjectPage
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Project> | Ресурсы текущей страницы. Элементы: Project |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
CyclePage
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Cycle> | Ресурсы текущей страницы. Элементы: Cycle |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
ViewPage
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<View> | Ресурсы текущей страницы. Элементы: View |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
CommentPage
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Comment> | Ресурсы текущей страницы. Элементы: Comment |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
ActivityPage
| Поле | Тип | Описание |
|---|---|---|
itemsОбязательно | array<Activity> | Ресурсы текущей страницы. Элементы: Activity |
totalОбязательно | integer | Общее количество ресурсов, соответствующих запросу. Минимум: 0 |
limitОбязательно | integer | Размер страницы. Минимум: 1. Максимум: 100 |
offsetОбязательно | integer | Количество пропущенных ресурсов. Минимум: 0. Максимум: 100000 |
Дополнительные поля запрещены.
CreateIssue
| Поле | Тип | Описание |
|---|---|---|
teamIdОбязательно | string | UUID команды ресурса. uuid |
projectIdНеобязательно | string | null | UUID проекта. null означает отсутствие проекта. uuid |
statusIdНеобязательно | string | UUID статуса команды задачи. uuid |
assigneeIdНеобязательно | string | null | UUID активного участника. null снимает назначение. uuid |
titleОбязательно | string | Название задачи. Минимальная длина: 1. Максимальная длина: 200 |
descriptionНеобязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
priorityНеобязательно | integer | Приоритет: 0 — без приоритета, 1 — срочный, 2 — высокий, 3 — средний, 4 — низкий. Минимум: 0. Максимум: 4 |
cycleIdНеобязательно | string | null | UUID цикла команды. null снимает цикл. uuid |
Дополнительные поля запрещены.
UpdateIssue
| Поле | Тип | Описание |
|---|---|---|
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
projectIdНеобязательно | string | null | UUID проекта. null означает отсутствие проекта. uuid |
statusIdНеобязательно | string | UUID статуса команды задачи. uuid |
assigneeIdНеобязательно | string | null | UUID активного участника. null снимает назначение. uuid |
titleНеобязательно | string | Название задачи. Минимальная длина: 1. Максимальная длина: 200 |
descriptionНеобязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
priorityНеобязательно | integer | Приоритет: 0 — без приоритета, 1 — срочный, 2 — высокий, 3 — средний, 4 — низкий. Минимум: 0. Максимум: 4 |
cycleIdНеобязательно | string | null | UUID цикла команды. null снимает цикл. uuid |
Дополнительные поля запрещены.
CreateProject
| Поле | Тип | Описание |
|---|---|---|
teamIdОбязательно | string | UUID команды ресурса. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
descriptionНеобязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
Дополнительные поля запрещены.
UpdateProject
| Поле | Тип | Описание |
|---|---|---|
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
nameНеобязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
descriptionНеобязательно | string | Описание. Пустая строка очищает текст. Максимальная длина: 20000 |
Дополнительные поля запрещены.
CreateCycle
| Поле | Тип | Описание |
|---|---|---|
teamIdОбязательно | string | UUID команды ресурса. uuid |
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
startDateОбязательно | string | Дата начала цикла, YYYY-MM-DD. date |
endDateОбязательно | string | Дата окончания цикла, YYYY-MM-DD. date |
Дополнительные поля запрещены.
UpdateCycle
| Поле | Тип | Описание |
|---|---|---|
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
nameНеобязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
startDateНеобязательно | string | Дата начала цикла, YYYY-MM-DD. date |
endDateНеобязательно | string | Дата окончания цикла, YYYY-MM-DD. date |
Дополнительные поля запрещены.
CompleteCycle
| Поле | Тип | Описание |
|---|---|---|
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
Дополнительные поля запрещены.
CreateView
| Поле | Тип | Описание |
|---|---|---|
nameОбязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
settingsОбязательно | ViewSettings | Фильтры и отображение представления. При PATCH переданный объект заменяется целиком. |
Дополнительные поля запрещены.
UpdateView
| Поле | Тип | Описание |
|---|---|---|
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
nameНеобязательно | string | Название ресурса. Минимальная длина: 1. Максимальная длина: 100 |
settingsНеобязательно | ViewSettings | Фильтры и отображение представления. При PATCH переданный объект заменяется целиком. |
Дополнительные поля запрещены.
CreateComment
| Поле | Тип | Описание |
|---|---|---|
bodyОбязательно | string | Текст комментария; пробелы по краям удаляются. У удалённого комментария текст пустой. Минимальная длина: 1. Максимальная длина: 20000 |
mentionsНеобязательно | array<CommentMention> | Непересекающиеся @упоминания участников. При изменении body без mentions очищаются; при запросе только с version сохраняются. Максимум элементов: 100. Элементы: CommentMention |
Дополнительные поля запрещены.
UpdateComment
| Поле | Тип | Описание |
|---|---|---|
versionОбязательно | integer | Текущая версия ресурса; обязательна для изменения. Минимум: 1 |
bodyНеобязательно | string | Текст комментария; пробелы по краям удаляются. У удалённого комментария текст пустой. Минимальная длина: 1. Максимальная длина: 20000 |
mentionsНеобязательно | array<CommentMention> | Непересекающиеся @упоминания участников. При изменении body без mentions очищаются; при запросе только с version сохраняются. Максимум элементов: 100. Элементы: CommentMention |
Дополнительные поля запрещены.
CommentMention
Упоминание участника пространства. Смещения UTF-16 start включительно / end не включительно покрывают @имя в переданном body. В ответе смещения относятся к сохранённому тексту после удаления пробелов по краям.
| Поле | Тип | Описание |
|---|---|---|
userIdОбязательно | string | UUID пользователя. uuid |
startОбязательно | integer | Начало @упоминания включительно, в UTF-16 единицах. Минимум: 0 |
endОбязательно | integer | Конец @упоминания не включительно, в UTF-16 единицах. Минимум: 2 |
Дополнительные поля запрещены.