For AI agents: markdown of this page — /docs-content-en/note/collections/move.md documentation index — /llms.txt
Reorder a knowledge base
POST /v1/note/collections/:id/move
Changes the order for the entire Bitrix24 account. Omitted or null position lands last. The stored weight is recomputed from neighbours, so it can differ from the request.
Requires note scope and a key permitting writes. Archived collections refuse writes. Permissions are enforced by Bitrix24.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id (path) |
integer | yes | GET /v1/note/collections/:id |
position (body) |
integer / null | no | Signed safe integer. Omitted/null: last. |
Examples
curl — personal key
curl -X POST https://vibecode.bitrix24.com/v1/note/collections/33/move \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"position": -10}'
curl — OAuth application
curl -X POST https://vibecode.bitrix24.com/v1/note/collections/33/move \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"position": -10}'
JavaScript — personal key
const response = await fetch('https://vibecode.bitrix24.com/v1/note/collections/33/move', {
method: 'POST',
headers: { 'X-Api-Key': 'YOUR_API_KEY', 'Content-Type': 'application/json' },
body: JSON.stringify({"position": -10}),
})
const result = await response.json()
if (!response.ok) throw new Error(result.error.message)
console.log(result.data)
JavaScript — OAuth application
const response = await fetch('https://vibecode.bitrix24.com/v1/note/collections/33/move', {
method: 'POST',
headers: { 'X-Api-Key': 'YOUR_APP_KEY', 'Content-Type': 'application/json', 'Authorization': 'Bearer USER_SESSION_TOKEN' },
body: JSON.stringify({"position": -10}),
})
const result = await response.json()
if (!response.ok) throw new Error(result.error.message)
console.log(result.data)
Response fields
| Field | Type | Description |
|---|---|---|
success |
boolean | true |
data |
object | GET /v1/note/collections/:id |
The response is read back after the move. If the read fails, the mutation may already be saved: read the object before retrying.
{
"success": true,
"data": {
"id": 33,
"name": "VIBE-PROBE MR-5082 collection 1",
"position": 50,
"policyLevel": "private",
"accessLevel": "full",
"isArchived": false,
"createdBy": 1373,
"createdAt": "2026-10-02T19:43:23Z",
"updatedBy": 1373,
"updatedAt": "2026-10-02T19:43:24Z",
"markdownDescription": null
}
}
400 - invalid path id:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "id must be a positive integer"
}
}
Errors
| HTTP | Code | Condition |
|---|---|---|
| 400 | INVALID_PARAMS |
Invalid id, destination or body. |
| 401 | MISSING_API_KEY |
Missing key. |
| 401 | TOKEN_MISSING |
No Bitrix24 credentials. |
| 403 | SCOPE_DENIED |
note |
| 403 | WRITE_BLOCKED_READONLY_KEY |
READONLY |
| 403 | BITRIX_ACCESS_DENIED |
Bitrix24 access refusal; collection archived. |
| 404 | ENTITY_NOT_FOUND |
Object not visible or missing. |
| 422 | BITRIX_ERROR |
Cycle, sharing or another business refusal. |
| 429 | OPERATION_TIME_LIMIT |
Bitrix24 operation limit. |
| 502 | BITRIX_UNAVAILABLE |
Bitrix24 unavailable. |
| 503 | BITRIX_TIMEOUT |
Bitrix24 timeout. |