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

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

Move a block

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

Moves a block to another page or to another position on its own page, keeping the block ID.

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. For a block from another page, a block in the trash or an ID from the published version, the response is 404
Parameterscope (query) Typestring Requiredno DescriptionSite type: KNOWLEDGE — knowledge base, GROUP — workgroup site, MAINPAGE — main page. Omit the parameter for pages of other sites

Request fields (body)

Field Type Required Description
FieldtoPageId Typenumber Requiredyes DescriptionID of the page the block moves to. List: GET /v1/pages. The page may belong to another site. Pass pageId to reorder the block within its own page
FieldafterBlockId Typenumber Requiredno DescriptionID of the block on page toPageId after which the block is placed. List: GET /v1/pages/:pageId/blocks. Without the field, the block is placed last on the page

Examples

curl — personal key

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

curl — OAuth application

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

JavaScript — personal key

javascript
const response = await fetch("https://vibecode.bitrix24.com/v1/pages/2417/blocks/29459/move", {
  method: "POST",
  headers: {"X-Api-Key": "YOUR_API_KEY", "Content-Type": "application/json"},
  body: JSON.stringify({"toPageId": 2419}),
})
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/29459/move", {
  method: "POST",
  headers: {"X-Api-Key": "YOUR_APP_KEY", "Authorization": "Bearer USER_SESSION_TOKEN", "Content-Type": "application/json"},
  body: JSON.stringify({"toPageId": 2419}),
})
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.blockId Typenumber DescriptionID of the moved block. Matches blockId from the request
Fielddata.pageId Typenumber DescriptionID of the page that now holds the block

Response example

JSON
{
  "success": true,
  "data": {
    "blockId": 29459,
    "pageId": 2419
  }
}

Error response example

400 — the body has no toPageId:

JSON
{
  "success": false,
  "error": {
    "code": "MISSING_REQUIRED_FIELDS",
    "message": "toPageId is required."
  }
}

Errors

HTTP Code Description
HTTP400 CodeMISSING_REQUIRED_FIELDS DescriptiontoPageId is required. — the body has no toPageId
HTTP400 CodeINVALID_PARAMS DescriptionDestination ids must be positive safe integers. — toPageId or afterBlockId is not a positive integer
HTTP400 CodeINVALID_PARAMS DescriptionafterBlockId must belong to the destination page. — block afterBlockId is not on the page that receives the block
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 a field that is not in the Request fields (body) table
HTTP400 CodeFST_ERR_CTP_EMPTY_JSON_BODY DescriptionThe Content-Type: application/json header is sent with an empty body. Send a body with toPageId
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. — page toPageId does not exist
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 return the expected block id. — Bitrix24 did not return a block ID or returned an ID other than blockId
HTTP422 CodeBITRIX_NO_EFFECT DescriptionBlock destination could not be confirmed. — after the write, the block was not found on page toPageId
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

  • A failure after the write does not cancel the move. Responses 422 BITRIX_NO_EFFECT, 429, 502 and 503 do not mean that the block stayed in place. Before retrying, re-read the blocks of the source page and of page toPageId with GET /v1/pages/:pageId/blocks.
  • The call changes the drafts of the source page and of page toPageId. Site visitors see the change after both pages are published with POST /v1/pages/:id/publication. See Pages for details.

See also