لوكلاء AI: ملف markdown لهذه الصفحة — /docs-content-en/entities/pages/blocks/up.md فهرس التوثيق — /llms.txt

مقالات التوثيق متاحة حاليًا باللغة الإنجليزية فقط.

Move a block up

POST /v1/pages/:pageId/blocks/:blockId/up

Moves a block one position up in the page draft, swapping it with the neighbouring block above.

Parameters

Parameter Type Required Description
ParameterpageId (path) Typenumber Requiredyes DescriptionPage ID. List: GET /v1/pages
ParameterblockId (path) Typenumber Requiredyes DescriptionID of a block in the draft of page pageId. List: GET /v1/pages/:pageId/blocks without the version parameter. A block of another page, a block in the trash and an ID from the published version return 404
Parameterscope (query) Typestring Requiredno DescriptionSite type: KNOWLEDGE — knowledge base, GROUP — workgroup site, MAINPAGE — main page. Omit the parameter for pages of other sites

No body is needed: the call accepts an empty request or {}. Any field in the body is rejected with 400 INVALID_PARAMS.

Examples

curl — personal key

Terminal
curl -X POST "https://vibecode.bitrix24.com/v1/pages/2417/blocks/29453/up" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'

curl — OAuth application

Terminal
curl -X POST "https://vibecode.bitrix24.com/v1/pages/2417/blocks/29453/up" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

JavaScript — personal key

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

JavaScript — OAuth application

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

Response fields

Field Type Description
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata.pageId Typenumber DescriptionPage ID
Fielddata.blockIds Typenumber[] DescriptionIDs of all draft blocks, hidden ones included, in page order after the move

Response example

JSON
{
  "success": true,
  "data": {
    "pageId": 2417,
    "blockIds": [
      29453,
      29451,
      29455
    ]
  }
}

Error response example

409 — the block is already first on the page:

JSON
{
  "success": false,
  "error": {
    "code": "BLOCK_WRONG_SORT",
    "message": "Block cannot move beyond the page order."
  }
}

Errors

HTTP Code Description
HTTP409 CodeBLOCK_WRONG_SORT DescriptionBlock cannot move beyond the page order. — the block is already first on the page
HTTP400 CodeINVALID_PARAMS DescriptionPath ids must be positive safe integers. — pageId or blockId is not a positive integer
HTTP400 CodeINVALID_PARAMS DescriptionBody must be a JSON object. — the body is not a JSON object
HTTP400 CodeINVALID_PARAMS DescriptionUnsupported body field. — the body contains any field
HTTP400 CodeFST_ERR_CTP_EMPTY_JSON_BODY DescriptionThe Content-Type: application/json header is sent with an empty body. Send a {} body or drop the header
HTTP400 CodeINVALID_SCOPE Descriptionscope must be KNOWLEDGE, GROUP or MAINPAGE, or omitted. — scope is not KNOWLEDGE, GROUP or MAINPAGE
HTTP404 CodeENTITY_NOT_FOUND DescriptionBlocks not found on this page. — the block is not in the draft of page pageId: it belongs to another page, is in the trash, was deleted, the ID comes from the published version, or page pageId does not exist. The IDs of such blocks are listed in error.blockIds
HTTP404 CodeENTITY_NOT_FOUND DescriptionPage or block not found. — Bitrix24 did not find the page or block during the move
HTTP422 CodeBITRIX_NO_EFFECT DescriptionBitrix24 returned an invalid block descriptor; the action cannot be confirmed. — Bitrix24 returned a block descriptor that could not be parsed
HTTP422 CodeBITRIX_NO_EFFECT DescriptionBitrix24 did not acknowledge the action. — Bitrix24 did not confirm the move
HTTP422 CodeBITRIX_NO_EFFECT DescriptionBitrix24 did not return the page block order. — after the move, Bitrix24 did not return the block order
HTTP422 CodeBITRIX_NO_EFFECT DescriptionBitrix24 returned an invalid block order. — the block order contains an invalid ID
HTTP422 CodeBITRIX_ERROR DescriptionBitrix24 rejected the action. The error text comes from Bitrix24
HTTP403 CodeSCOPE_DENIED DescriptionThe API key does not have the landing scope
HTTP403 CodeWRITE_BLOCKED_READONLY_KEY DescriptionThe key is read-only. The request is rejected before Bitrix24 is called
HTTP403 CodeBITRIX_ACCESS_DENIED DescriptionThe Bitrix24 user the key is issued for has no permission to edit the page
HTTP401 CodeMISSING_API_KEY DescriptionThe X-Api-Key header is missing
HTTP401 CodeINVALID_API_KEY DescriptionThe key in X-Api-Key is not found or has been revoked
HTTP401 CodeTOKEN_MISSING DescriptionThe API key has no configured tokens
HTTP409 CodeLANDING_MODULE_NOT_ENABLED DescriptionThe Sites module is not available on the Bitrix24 account
HTTP409 CodePORTAL_ADDRESS_CHANGED DescriptionA self-hosted Bitrix24 moved to a new address, but the key's webhook was issued for the old one. Reissue the key's webhook
HTTP429 CodeRATE_LIMITED DescriptionThe Bitrix24 request limit is exceeded. Retry the request in 1-2 seconds
HTTP502 CodeBITRIX_UNAVAILABLE DescriptionBitrix24 did not respond, returned a server error, or sent a response larger than 8 MiB
HTTP503 CodeBITRIX_TIMEOUT DescriptionBitrix24 did not respond in time

Full list of common API errors — Errors.

Known specifics

  • To shift a block several positions, use move. To place a block right after a given block, call POST /v1/pages/:pageId/blocks/:blockId/move with toPageId equal to pageId and with afterBlockId.
  • A failure after the write does not cancel the shift. Responses 422 BITRIX_NO_EFFECT, 429, 502 and 503 do not mean that the block stayed in place, and a retry shifts it again. Before retrying, re-read the page blocks with GET /v1/pages/:pageId/blocks.
  • The call changes the page draft. Site visitors see the change after the page is published with POST /v1/pages/:id/publication. See Pages for details.

See also