Для AI-агентов: markdown этой страницы — /docs-content/entities/pages/move.md индекс документации — /llms.txt

Перенести страницу

POST /v1/pages/:id/move

Требует хотя бы одно поле назначения. Пустое тело возвращает 400. toFolderId: null явно переносит в корень. Перенос снимает страницу с публикации и может опубликовать заново, если она была активна; адрес меняется.

Требуется скоуп landing. Пишущие действия запрещены READONLY-ключу.

Параметры запроса

Поле Тип Обяз. Описание
id integer да ID страницы из списка страниц.
scope string нет Query: KNOWLEDGE, GROUP или MAINPAGE; для обычного сайта не передавайте.
toSiteId integer нет Целевой сайт из списка сайтов.
toFolderId integer | null нет folderId существующей страницы целевого сайта из списка страниц; null или 0 явно выбирает корень. При move нужно хотя бы одно поле назначения.

Примеры

curl — личный ключ

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/pages/42/move" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"toFolderId": null}'

curl — OAuth-приложение

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/pages/42/move" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"toFolderId": null}'

JavaScript — личный ключ

javascript
const response = await fetch("https://vibecode.bitrix24.tech/v1/pages/42/move", {
  method: "POST",
  headers: {"X-Api-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
  body: JSON.stringify({"toFolderId": null}),
})
const result = await response.json()
if (!response.ok) throw new Error(result.error.message)
console.log(result.data)

JavaScript — OAuth-приложение

javascript
const response = await fetch("https://vibecode.bitrix24.tech/v1/pages/42/move", {
  method: "POST",
  headers: {"X-Api-Key": "YOUR_APP_KEY", "Authorization": "Bearer USER_SESSION_TOKEN", "Content-Type": "application/json"},
  body: JSON.stringify({"toFolderId": null}),
})
const result = await response.json()
if (!response.ok) throw new Error(result.error.message)
console.log(result.data)

Поля ответа

Поле Тип Описание
success boolean true
data object Результат операции.
data.id integer ID перечитанной страницы.
data.siteId integer Сайт страницы.
data.folderId integer | null Папка; null в корне.
data.title string title
data.code string Код страницы в адресе.
data.active boolean Опубликована ли страница.
data.deleted string Y/N Y — в корзине, N — нет.
JSON
{
  "success": true,
  "data": {
    "id": 42,
    "siteId": 10,
    "folderId": null,
    "title": "Example",
    "code": "example",
    "active": false,
    "deleted": "N"
  }
}

Ошибки

HTTP Code Условие
400 MISSING_REQUIRED_FIELDS Не переданы обязательные параметры.
400 INVALID_PAGE_ID id не положительное безопасное целое.
400 INVALID_PARAMS Неверная форма тела или значения параметров.
400 INVALID_SCOPE Неверный scope.
401 TOKEN_MISSING Нет учётных данных Б24.
403 SCOPE_DENIED У ключа нет landing.
403 BITRIX_ACCESS_DENIED Нет прав у пользователя Б24.
404 ENTITY_NOT_FOUND Страница, сайт назначения или папка не найдены.
422 BITRIX_ERROR Бизнес-отказ Б24; текст возвращается без подмены.
422 BITRIX_NO_EFFECT Б24 не подтвердил действие или не вернул ожидаемый результат.
403 WRITE_BLOCKED_READONLY_KEY READONLY-ключ не может записывать в портал.

Все системные ошибки.

400 — неверный scope:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_SCOPE",
    "message": "scope must be KNOWLEDGE, GROUP or MAINPAGE, or omitted."
  }
}

Смотрите также