For AI agents: markdown of this page — /docs-content-en/entities/sites/system-pages-delete-delete.md documentation index — /llms.txt

Remove a system page

DELETE /v1/sites/:id/system-pages/:type

Frees one system role of the site. The page that was assigned to it stays on the site, and the other roles do not change.

Parameters

Parameter Type Required Description
Parameterid (path) Typenumber Requiredyes DescriptionSite ID. List: GET /v1/sites
Parametertype (path) Typestring Requiredyes DescriptionRole to free: mainpage, catalog, personal, cart, order, payment, compare, feedback. Roles currently in use: GET /v1/sites/:id/system-pages
Parameterscope (query) Typestring Requiredno DescriptionInternal landing scope: KNOWLEDGE / GROUP / MAINPAGE. Specify it if the site belongs to the corresponding scope. Otherwise 404 ENTITY_NOT_FOUND is returned. Omit it for an ordinary site

No request body is needed: a body with any field returns 400 INVALID_PARAMS.

Examples

curl — personal key

Terminal
curl -X DELETE "https://vibecode.bitrix24.com/v1/sites/223/system-pages/cart" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth application

Terminal
curl -X DELETE "https://vibecode.bitrix24.com/v1/sites/223/system-pages/cart" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/sites/223/system-pages/cart', {
  method: 'DELETE',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
console.log('Roles left:', data.length)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/sites/223/system-pages/cart', {
  method: 'DELETE',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { success, data } = await res.json()

Response fields

The method returns 200 with the site's remaining bindings.

Field Type Description
Fieldsuccess Typeboolean DescriptionAlways true on success
Fielddata Typearray DescriptionThe site's bindings after the role is freed. Empty if the freed role was the last one
Fielddata[].type Typestring DescriptionRole: mainpage, catalog, personal, cart, order, payment, compare, feedback. What each one means — System pages
Fielddata[].pageId Typenumber DescriptionID of the page assigned to the role. Get the page: GET /v1/pages/:id
Fielddata[].title Typestring DescriptionPage title
Fielddata[].deleted Typeboolean DescriptionThe page is in the trash
Fielddata[].active Typeboolean DescriptionThe page is published

Response example

JSON
{
  "success": true,
  "data": [
    {
      "type": "personal",
      "pageId": 2373,
      "title": "Docs test personal",
      "deleted": false,
      "active": false
    }
  ]
}

Error response example

404 — the role is already free:

JSON
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "System-page binding not found"
  }
}

Errors

HTTP Code Description
HTTP404 CodeENTITY_NOT_FOUND DescriptionSystem-page binding not found — no page is assigned to the type role. Removing the same role again returns the same response
HTTP404 CodeENTITY_NOT_FOUND DescriptionEntity not found or not visible — a site with this ID was not found, is not accessible to the user or belongs to another scope
HTTP400 CodeINVALID_PARAMS DescriptionUnknown system-page type — type is not in the list of roles
HTTP400 CodeINVALID_PARAMS Descriptionid must be a positive safe integer — id is not a positive integer
HTTP400 CodeINVALID_PARAMS DescriptionUnsupported body field — the body contains a field the method does not accept
HTTP400 CodeINVALID_PARAMS DescriptionBody must be a JSON object — the body is not a JSON object, for example an array was sent
HTTP400 CodeINVALID_PARAMS DescriptionUnsupported query parameter — a query parameter the method does not accept was sent
HTTP400 CodeINVALID_SCOPE Descriptionscope is not KNOWLEDGE, GROUP or MAINPAGE
HTTP409 CodeLANDING_MODULE_NOT_ENABLED DescriptionThe Sites module is unavailable on this Bitrix24 account. Ask a Bitrix24 account administrator to enable it — until then a retry returns the same refusal
HTTP422 CodeBITRIX_ERROR DescriptionBitrix24 did not save the binding change; site settings permission may be missing — the role is still taken after the write. Check whether the user has permission to change site settings
HTTP422 CodeBITRIX_ERROR DescriptionBitrix24 did not confirm the binding change — Bitrix24 did not confirm the write
HTTP422 CodeBITRIX_ERROR DescriptionBitrix24 returned invalid system pages — Bitrix24 returned the list of bindings in an unexpected shape
HTTP403 CodeWRITE_BLOCKED_READONLY_KEY DescriptionThe key is read-only. The request is refused before any call to the Bitrix24 account
HTTP403 CodeSCOPE_DENIED DescriptionThe API key does not have the landing scope
HTTP401 CodeTOKEN_MISSING DescriptionThe API key has no configured tokens

Full list of common API errors — Errors.

See also