## Перенести документ с поддеревом

`POST /v1/note/documents/:id/move`

Переносит документ вместе со всеми потомками. Без collectionId остаётся текущая коллекция. Отсутствующий или null parentId означает корень. Родитель должен принадлежать целевой коллекции. Битрикс24 отклоняет циклы и переносы с расширением доступа.

Нужен скоуп note и ключ с разрешённой записью. Архивные коллекции доступны только для чтения. Права проверяет Битрикс24.

## Параметры

| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
| `id` (path) | integer | да | [GET /v1/note/documents/:id](/docs/note/documents/get) |
| `position` (body) | integer / null | нет | Знаковое безопасное целое. Без поля/null: последняя позиция. |
| `collectionId` (body) | integer / null | нет | Положительное безопасное целое. [Список коллекций](/docs/note/collections/list). Без поля/null: текущая. |
| `parentId` (body) | integer / null | нет | Положительное безопасное целое. [Дерево документов](/docs/note/collections/tree). Без поля/null: корень. |

## Примеры

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

```bash

curl -X POST https://vibecode.bitrix24.tech/v1/note/documents/85/move \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"collectionId": 35, "position": -20}'

```

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

```bash

curl -X POST https://vibecode.bitrix24.tech/v1/note/documents/85/move \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"collectionId": 35, "position": -20}'

```

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

```javascript

const response = await fetch('https://vibecode.bitrix24.tech/v1/note/documents/85/move', {
  method: 'POST',
  headers: { 'X-Api-Key': 'YOUR_API_KEY', 'Content-Type': 'application/json' },
  body: JSON.stringify({"collectionId": 35, "position": -20}),
})
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/note/documents/85/move', {
  method: 'POST',
  headers: { 'X-Api-Key': 'YOUR_APP_KEY', 'Content-Type': 'application/json', 'Authorization': 'Bearer USER_SESSION_TOKEN' },
  body: JSON.stringify({"collectionId": 35, "position": -20}),
})
const result = await response.json()
if (!response.ok) throw new Error(result.error.message)
console.log(result.data)

```

## Поля ответа

| Поле | Тип | Описание |
|---|---|---|
| `success` | boolean | `true` |
| `data` | object | [GET /v1/note/documents/:id](/docs/note/documents/get) |

Ответ перечитывается после переноса. Если чтение не удалось, изменение уже могло сохраниться: перечитайте объект перед повтором.

```json

{
  "success": true,
  "data": {
    "id": 85,
    "collectionId": 35,
    "parentId": null,
    "title": "VIBE-PROBE MR-5082 document",
    "markdown": "VIBE-PROBE content",
    "position": 1000,
    "createdBy": 1373,
    "updatedBy": 1373,
    "createdAt": "2026-10-02T22:43:23+03:00",
    "updatedAt": "2026-10-02T22:43:24+03:00",
    "contentUpdatedAt": "2026-10-02T22:43:23+03:00",
    "isArchived": false,
    "isTrashed": false,
    "isOrphan": false
  }
}

```

400 — неверный id в пути:

```json

{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "id must be a positive integer"
  }
}

```

## Ошибки

| HTTP | Code | Условие |
|---|---|---|
| 400 | `INVALID_PARAMS` | Неверный id, адрес назначения или тело. |
| 401 | `MISSING_API_KEY` | Нет ключа. |
| 401 | `TOKEN_MISSING` | Нет подключения к Битрикс24. |
| 403 | `SCOPE_DENIED` | `note` |
| 403 | `WRITE_BLOCKED_READONLY_KEY` | READONLY |
| 403 | `BITRIX_ACCESS_DENIED` | Отказ доступа Битрикс24, включая запись в архивную коллекцию. |
| 404 | `ENTITY_NOT_FOUND` | Запись отсутствует или не видна; документ архивирован. |
| 422 | `BITRIX_ERROR` | Цикл, расширение доступа или другой бизнес-отказ. |
| 429 | `OPERATION_TIME_LIMIT` | Лимит операций Битрикс24. |
| 502 | `BITRIX_UNAVAILABLE` | Битрикс24 недоступен. |
| 503 | `BITRIX_TIMEOUT` | Таймаут Битрикс24. |

[ Все ошибки ](/docs/errors)

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

- [GET /v1/note/documents/:id](/docs/note/documents/get)

- [Note](/docs/note)
