Изменить папку
Переименовывает, переносит и меняет состав папки за один вызов. Меняется только то, что передано.
group_ids заменяет состав целиком, а не дополняет его. Чтобы добавить один объект, передайте
её вместе с теми, что уже лежат в папке.
Объект, которую положить не удалось, остальной состав не отменяет: она не попадёт в папку, а её
идентификатор вернётся в ignored_group_ids.
Параметры
folder_idчислообязательныйПапка, которую нужно изменить.
Тело запроса
nameстрокаНовое название, 1–255 символов. Не передано – остаётся прежним.
parent_folder_idчислоПеренести папку внутрь другой. null – вынести в корень. Не передано – остаётся где была.
group_idsсписок чиселНовый состав папки целиком. Пустой список очищает состав.
Ответ
idчислоИдентификатор папки.
user_idчислоВладелец папки.
nameстрокаНазвание папки.
created_atдата и времяКогда папка создана.
parent_folder_idчисломожет быть пустымПапка-родитель. Пусто – папка лежит в корне.
groupsсписок объектовОбъекты, лежащие непосредственно в этой папке.
groups[].idчислоИдентификатор объекта.
groups[].nameстрокаНазвание объекта.
subfoldersсписок объектовПодпапки этой папки, по названию по алфавиту.
subfolders[].idчислоИдентификатор подпапки.
subfolders[].user_idчислоВладелец подпапки.
subfolders[].nameстрокаНазвание подпапки.
subfolders[].created_atдата и времяКогда подпапка создана.
subfolders[].parent_folder_idчисломожет быть пустымПапка-родитель.
subfolders[].groupsсписок объектовОбъекты, лежащие непосредственно в подпапке.
subfolders[].groups[].idчислоИдентификатор объекта.
subfolders[].groups[].nameстрокаНазвание объекта.
subfolders[].subfoldersсписок объектовВсегда пусто: глубина ограничена двумя уровнями.
subfolders[].subfolders[].idчислоИдентификатор папки. Обычное целое число — папки не участвуют в кодировании идентификаторов.
subfolders[].subfolders[].user_idчислоИдентификатор владельца папки. Он же её создатель: папка всегда создаётся себе — POST /v2/folders не принимает чужого владельца.
subfolders[].subfolders[].nameстрокаНазвание папки.
subfolders[].subfolders[].created_atдата и времяМомент создания папки (UTC, ISO 8601).
subfolders[].subfolders[].parent_folder_idчисломожет быть пустымИдентификатор родительской папки. null — папка корневая. Глубина ограничена двумя уровнями: папка → подпапка → группы, поэтому у подпапки подпапок быть не может.
subfolders[].subfolders[].groupsсписок объектовГруппы, лежащие непосредственно в этой папке (без групп подпапок). Приходят объектами с названиями, чтобы не ходить за ними в GET /v2/groups; на вход POST/PATCH принимают массив идентификаторов group_ids. Здесь виден состав, а не то, что попадёт в выдачу: выключенная (is_active=false) группа остаётся в составе, но отзывов и аналитики по folder_id не даёт — то же правило, что и в списке групп. Удалённая группа из состава пропадает.
subfolders[].subfolders[].groups[].idчислоИдентификатор группы.
subfolders[].subfolders[].groups[].nameстрокаНазвание группы.
subfolders[].subfolders[].subfoldersсписок объектовПодпапки этой папки — каждая со своим составом. Порядок тот же, что у папок верхнего уровня: по названию, при совпадении — по id. Глубина ограничена двумя уровнями, поэтому у подпапки здесь всегда пустой список. У подпапки есть и свои группы, и они не смешиваются с группами родителя: groups каждой папки — только её собственный состав. В выдачу по folder_id (отзывы, аналитика) попадают группы папки и её подпапок.
subfolders[].subfolders[].subfolders[].idчислоИдентификатор папки. Обычное целое число — папки не участвуют в кодировании идентификаторов.
subfolders[].subfolders[].subfolders[].user_idчислоИдентификатор владельца папки. Он же её создатель: папка всегда создаётся себе — POST /v2/folders не принимает чужого владельца.
subfolders[].subfolders[].subfolders[].nameстрокаНазвание папки.
subfolders[].subfolders[].subfolders[].created_atдата и времяМомент создания папки (UTC, ISO 8601).
subfolders[].subfolders[].subfolders[].parent_folder_idчисломожет быть пустымИдентификатор родительской папки. null — папка корневая. Глубина ограничена двумя уровнями: папка → подпапка → группы, поэтому у подпапки подпапок быть не может.
subfolders[].subfolders[].subfolders[].groupsсписок объектовГруппы, лежащие непосредственно в этой папке (без групп подпапок). Приходят объектами с названиями, чтобы не ходить за ними в GET /v2/groups; на вход POST/PATCH принимают массив идентификаторов group_ids. Здесь виден состав, а не то, что попадёт в выдачу: выключенная (is_active=false) группа остаётся в составе, но отзывов и аналитики по folder_id не даёт — то же правило, что и в списке групп. Удалённая группа из состава пропадает.
subfolders[].subfolders[].subfolders[].subfoldersсписок объектовПодпапки этой папки — каждая со своим составом. Порядок тот же, что у папок верхнего уровня: по названию, при совпадении — по id. Глубина ограничена двумя уровнями, поэтому у подпапки здесь всегда пустой список. У подпапки есть и свои группы, и они не смешиваются с группами родителя: groups каждой папки — только её собственный состав. В выдачу по folder_id (отзывы, аналитика) попадают группы папки и её подпапок.
ignored_group_idsсписок чиселИдентификаторы из group_ids, которые в состав не попали: чужие, удалённые или несуществующие.
curl -X PATCH "https://example.com/v2/folders/0" \ -H "Content-Type: application/json" \ -d '{ "name": "Москва и область", "group_ids": [ 20, 21, 22, 99 ] }'{ "id": 12, "user_id": 6, "name": "Москва и область", "created_at": "2026-07-28T16:50:24", "parent_folder_id": null, "groups": [ { "id": 20, "name": "Националь" }, { "id": 21, "name": "Метрополь" }, { "id": 22, "name": "Балчуг" } ], "subfolders": [ { "id": 13, "user_id": 6, "name": "Центр", "created_at": "2026-07-28T16:52:11", "parent_folder_id": 12, "groups": [ { "id": 22, "name": "Балчуг" } ], "subfolders": [] } ], "ignored_group_ids": [ 99 ]}Коды ошибок общие для всего API и описаны на странице Ошибки.