لوكلاء AI: ملف markdown لهذه الصفحة — /docs-content-en/entities/pages/blocks/purge.md فهرس التوثيق — /llms.txt
مقالات التوثيق متاحة حاليًا باللغة الإنجليزية فقط.
Permanently delete a block
POST /v1/pages/:pageId/blocks/:blockId/purge
Deletes a block from the page with no way to restore it: the block does not go to the page trash.
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 from another page, a block in the trash, or an ID from the published version returns 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
curl -X POST "https://vibecode.bitrix24.com/v1/pages/2419/blocks/29461/purge" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
curl — OAuth application
curl -X POST "https://vibecode.bitrix24.com/v1/pages/2419/blocks/29461/purge" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
JavaScript — personal key
const response = await fetch("https://vibecode.bitrix24.com/v1/pages/2419/blocks/29461/purge", {
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
const response = await fetch("https://vibecode.bitrix24.com/v1/pages/2419/blocks/29461/purge", {
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.deletedBlockIds |
Typenumber[] | DescriptionID of the deleted block. After the write, the block is no longer on the page, confirmed by a second read |
Response example
{
"success": true,
"data": {
"pageId": 2419,
"deletedBlockIds": [
29461
]
}
}
Error response example
404 — the block is already deleted:
{
"success": false,
"error": {
"code": "ENTITY_NOT_FOUND",
"message": "Blocks not found on this page.",
"blockIds": [
29461
]
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 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 |
| 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 deletion |
| 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 deletion |
| HTTP422 | CodeBITRIX_NO_EFFECT |
DescriptionSome blocks survived permanent deletion; do not blindly retry. — after the deletion, the block is still on the page. Its ID is in error.blockIds |
| 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
- Deletion with a way back is a separate method.
DELETE /v1/pages/:pageId/blocks/:blockIdmoves the block to the page trash, from which it can be restored. - A failure after the write does not cancel the deletion. Responses
422 BITRIX_NO_EFFECT,429,502and503do not mean that the block is still there. Check whether the block is inGET /v1/pages/:pageId/blocks: a retry for a deleted block returns404. - 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.